前言
到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對象。