python基础之常用关键字总结

前言

到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

总结

  1. 了解python2和python3关键字的异同;

  2. 注意False、True、None在python2中表示内置模块的变量,在python3中是解释器的内置关键字。

  3. False、True、None本质都是object对象,False、True属于int对象,None属于空object对象。