前言
到python3.6为止,python内置的关键字有33个,比python2.7的版本多了2个。下面总结一下python3的关键字的使用。
python内置关键字
解释器在加载上下文的时候,如果遇到一些预先设定的变量值,就会触发解释器内置的一些操作,这些预定的变量值就是关键字。
查看关键字
查看当前版本的关键字信息,使用:
help("keywords")# python3结果False def if raiseNone del import returnTrue elif in tryand else is whileas except lambda withassert finally nonlocal yieldbreak for notclass from orcontinue global pass# python2结果and elif if printas else import raiseassert except in returnbreak exec is tryclass finally lambda whilecontinue for not withdef from or yielddel global pass
python3去掉了python2的exec、print关键字,增加了False,None,True,nonlocal关键字;
用来定义的关键字
def : 定义一个函数或方法;class: 定义一个类对象;lambda:定义一个匿名函数;
布尔关键字
False:代表真;True:代表假;print(1 == True) # Trueprint(0 == False) # Falseprint(isinstance(False, object)) # Trueprint(isinstance(True, object)) # Trueprint(isinstance(False, int)) # Trueprint(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) # Falseprint(a == b) # True
异常
try:代码1except:代码2else:代码3finally:代码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对象。