python(13): 语句和赋值(8/8.1)
时间:2006-02-27 来源:newsim
在python中,有各种不同类型的语句。一个python程序是由模块构成的;一个模块由一条或多条语句组成;每个语句由不同的表达式组成;表达式可以创建和操作对象。下面来看看python中的语句。
赋值语句:
赋值语句可以分为两大类,一种是显式赋值语句,一种是隐式赋值语句。先来看显式赋值语句:
隐式赋值会出现在以下六种语句中:
上面用到的one two Test Car types等等都是标识符,标识符可以用来代表变量、函数名、类名、模块名等。标识符的选择也有一定的规则,三条“军规”:
第一条:标识符不能与保留字(关键字)相同
第二条:标识符是大小写敏感的
第三条:标识符必须用_或字母开头,只能由_、字母、数字组成,长度没有限制。
先来看第一条,这一条可以说是所有计算机语言都会有的一条规则。在python中保留字有31个。基本上在是组成语句的单词,比如print del return等。由于模块名在引入程序的时候,会自动转换为变量名,因此模块的名称也不能是关键字,否则没有办法引入。保留字要与在__builtins__模块中的一些标识符相互区别,比如list()是在这个模块中的,其中的list就不是保留字。
第二条,只要记住就行了。
第三条,单个_也是一个合法的标识符,在python交互模式中,它用来表示最后一个表达式的值。其实在python中,几乎所有以_开头的标识符都有特殊的意思,虽然这不是强制性的规定。
赋值语句:
- 标识符 = object
- if/elif/else
- while/else
- for/else
- break
- continue
- class
- def
- return
- yield
- global
- lambda
- object.method()
- try/except/finally
- raise
- del
- exec
- assert
- pass
赋值语句可以分为两大类,一种是显式赋值语句,一种是隐式赋值语句。先来看显式赋值语句:
- L= range(3)
- [x,y]=[1,2]
- x,y=[3,4]
- x,y=5,6
- x = y = dict()
隐式赋值会出现在以下六种语句中:
- import types
- from types import *
- for x,y in D.itertimes()
- def Test(one, two): pass
- class Car: pass
- Test(1,3)
上面用到的one two Test Car types等等都是标识符,标识符可以用来代表变量、函数名、类名、模块名等。标识符的选择也有一定的规则,三条“军规”:
第一条:标识符不能与保留字(关键字)相同
第二条:标识符是大小写敏感的
第三条:标识符必须用_或字母开头,只能由_、字母、数字组成,长度没有限制。
先来看第一条,这一条可以说是所有计算机语言都会有的一条规则。在python中保留字有31个。基本上在是组成语句的单词,比如print del return等。由于模块名在引入程序的时候,会自动转换为变量名,因此模块的名称也不能是关键字,否则没有办法引入。保留字要与在__builtins__模块中的一些标识符相互区别,比如list()是在这个模块中的,其中的list就不是保留字。
第二条,只要记住就行了。
第三条,单个_也是一个合法的标识符,在python交互模式中,它用来表示最后一个表达式的值。其实在python中,几乎所有以_开头的标识符都有特殊的意思,虽然这不是强制性的规定。
- 以一个_开头的标识符,比如_D _x 等,在import语句中不被引入,也就是说这种标识符标识的变量和定义是专属于这个模块的,在模块外面是看不到的。有点类似于c中的private变量和函数。
- 以两个_开头,同时以两个_结尾的标识符,比如__name__ __main__ __builtins__等,这些变量或函数是由python解释器调用的。比如:__builtins__这个模块就会在python启动时自动载入。再比如:在一个类型中的__gt__方法由python解释器调用,当把这个类型用于>的表达式时。
- 以两个_开头,但最后没有两个_,比如说:__x,这种标识符是一个类中的内部变量或函数。有点类似于c中的private变量和函数。
- >>> L = range(3)
- >>> L += [3,4]
相关阅读 更多 +