前言
到python3.6为止,python内置的关键字有33个,比python2.7的版本多了2个。下面总结一下python3的关键字的使用。
python内置关键字
解释器在加载上下文的时候,如果遇到一些预先设定的变量值,就会触发解释器内置的一些操作,这些预定的变量值就是关键字。
查看关键字
查看当前版本的关键字信息,使用:
help("keywords")
# python3结果
False def if raise
None del import return
True elif in try
and else is while
as except lambda with
assert finally nonlocal yield
break for not
class from or
continue global pass
# python2结果
and elif if print
as else import raise
assert except in return
break exec is try
class finally lambda while
continue for not with
def from or yield
del global pass
python3去掉了python2的exec、print关键字,增加了False,None,True,nonlocal关键字;
用来定义的关键字
def : 定义一个函数或方法;
class: 定义一个类对象;
lambda:定义一个匿名函数;
布尔关键字
False:代表真;
True:代表假;
print(1 == True) # True
print(0 == False) # False
print(isinstance(False, object)) # True
print(isinstance(True, object)) # True
print(isinstance(False, int)) # True
print(isinstance(True, int)) # True
在解释器中,False和True是一个变量,它们的值为0和1;但py2和py3对False和True有所不同,py2中False、True、None都是定义在builtins模块中的变量,因此可以随时修改它们代表的值,但py3中,False、True、None直接代表解释器中的关键字变量,它们的值是固定的。
控制流关键字
if...elif...else...:条件判断;
for...in...:对可迭代对象循环遍历
for...in...else...:遍历正常完成则执行else后的代码;
continue:终止本次循环,继续下一次循环;
break:跳出循环;
while:循环结构;
逻辑判断关键字
and:表示与
or:表示或;
not:表示非;
in:判断元素是否在容器内;
not in:判断元素是否不再容器内;
is:比较两个变量的内存地址;
扩展:is关键字比较两个变量的内存地址,==比较两个变量的值;
a = [123]
b = [123]
print(a is b) # False
print(a == b) # True
异常
try:
代码1
except:
代码2
else:
代码3
finally:
代码4...
# 代码1发生异常就执行代码2,正常就执行代码3,无论正常与否都要执行代码4.
raise:主动触发异常;
命令空间
global:将模块空间变量引入到局部空间修改;
nonlocal:将本局部空间的外层空间变量引入到本层局部空间修改,用来嵌套函数内;
其他
None:代表空,是python解释器的一个内置的关键字变量;本质是一个object()
from ... import ...:从模块导入对象
import ... :导入模块
import ... as ...:导入模块指定别名
with:触发上下文管理器;
assert:断言,True则通过,False则触发异常;
pass:表示跳过,用来防止报错;
return:函数返回值;
yield:生成器关键字;
del:从上下文堆栈中删除某个对象。
print(isinstance(None, object)) # True
总结
-
了解python2和python3关键字的异同;
-
注意False、True、None在python2中表示内置模块的变量,在python3中是解释器的内置关键字。
-
False、True、None本质都是object对象,False、True属于int对象,None属于空object对象。