1、关键字
Python语言中的专有词汇,统称为“关键字”。具有特定的含义,只能用于特定的位置。
and | as | assert | async | await | break | class |
---|---|---|---|---|---|---|
continue | def | del | elif | else | except | finally |
for | from | False | global | if | import | in |
is | lambda | nonelocal | not | None | or | pass |
raise | rerturn | try | True | while | with | yield |
注意:关键字是严格区分大小写的,对于False和True的首字母都是大写,其他都是小写。
我们可以通过命令来查看Python语言中的所有关键字:
>>>import keyword
>>>keyword.kwlist
2、标识符
Python语言中的类名、对象名、方法名和变量名等,统称为“标识符”。为了提高程序的可读性,在定义标识符时,要尽量遵循“见其名知其意”的原则。Python标识符的具体命名规则如下:
(1)一个标识符可以由几个单词连接而成,以表明它的意思;
(2)标识符由一个或多个字母 (A-Z和 a-z)、数字、下划线 (_),并且第一个字符不能是数字,没有长度限制;
(3)标识符不能是关键字;
(4)标识符中的字母是严格区分大小写的;
(5)标识符中不能包含空格、@、%和$等特殊字符;
(6)应该避免标识符的开头和结尾都使用下划线的情况,因为Python中大量采用这种名字定义了各种特殊方法和变量;
3、变量
变量是程序运行过程中值可以被改变的量。
变量的命名需要遵循以下规则:
(1)变量名必须是一个有效的标识符;
(2)变量名不能使用Python中的关键字;
(3)应选择有意义的单词作为变量名。
每个变量在使用前都必须赋值,变量赋值以后该变量才会在内存中被创建。Python中的变量在赋值时不需要类型声明。需要使用等号(=)来给变量赋值,等号运算符左边是一个变量名,等号运算符右边是存储在变量中的值。
例如,创建一个整型变量并为其赋值,可以使用如下语句:
>>>num =128
可以看出,在为变量num赋值时,并没有声明其类型为整型,Python解释器会根据赋值语句来自动推断变量类型。
在Python中,允许多个变量指向同一个值,例如:
>>>X=5
>>>>id(x)8791631005488
>>> y=X
>>>>id(y)8791631005488
在这段内码中,内置函数id()用来返回变量所指值的内存地址。可以看出,变量y和x具有相同的内存地址,这是因为,Python采用的是基于值的内存管理方式,如果为不同的变量赋值为相同值,这个值在内存中只有一份,多个变量指向同一块内存地址。
当修改了其中一个变量的值时,其内存地址将会发生变化,但是,这不会影响另一个变量,例如,我们可以在上面例子的基础上继续执行如下代码:
>>> X+=3
>>>x
8
>>> id(x)
8791631005584
>>>id(y)
8791631005488
可以看出,当修改了变量x的值以后,其内存地址也发生了变化,但是,变量y的内存地址仍然没有发生变化。
需要说明的是,Python具有内存自动管理功能,对于没有任何变量指向的值,Python自动将其删除,回收内存空间,因此,开发人员一般情况下不需要考虑内存的管理问题。
Python还允许为多个变量同时赋值,例如:
>>>a=b=c=1
>>>id(a)
8791631005360
>>>id(b)
8791631005360
>>>id(c)
8791631005360
上面这条赋值语句“a=b =c = 1”创建了一个整型对象,值为1。可以看出,三个变量a、b和c被分配到相同的内存空间上。
另外,Python语言是一种动态类型语言,变量的类型是可以随时变化的,例如:
>>>number =512 #整型的变量
>>>print(type(number))
<class 'int'>
>>>number="Hello World” #字符串类型的变量
>>>print(type(number))
<class 'str'>
在上面的代码中,内置函数type()用来返回变量类型。可以看出,在刚开始创建变量number时,赋值为512,变量类型为整型,然后,再为变量number赋值为“Hello World”它的类型就变为了字符串类型。