Python 包含的保留字可以執行如下命令進行查看:
→import keyword
→keyword.kwlist
['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
所有的保留字,如下表所示:
and | as | assert | break | class | continue |
def | del | elif | else | except | finally |
for | from | False | global | if | import |
in | is | lambda | nonlocal | not | None |
or | pass | raise | return | try | True |
while | with | yield |
需要注意的是,由於 Python 是嚴格區分大小寫的,保留字也不例外。所以,我們可以說 if 是保留字,但 IF 就不是保留字。
1.and , or
and , or 為邏輯關系用語,Python具有短路邏輯,False and 返回 False
不執行后面的語句, True or 直接返回True,不執行后面的語句
2.del
刪除變量
而列表本身包含的是變量,
3.from
from引用模塊時會用到
4.golbal
golbal為全局變量,但當單個函數中出現同一變量名時,在單個函數中為局部變量
5.with
with被用來處理異常
緊跟with后面的語句被求值后,返回對象的enter()方法被調用,這個方法的返回值將被賦值給as后面的變量,此處為file
當with后面的代碼塊全部被執行完后,將調用前面返回對象的exit()方法
-
實際上,在with后面的代碼塊拋出任何異常時,exit()方法被執行。
-
正如例子所示,異常拋出時,與之關聯的type,value和stack trace傳給exit()方法,
-
因此拋出的ZeroDivisionError異常被打印出來了。
開發庫時,清理資源,關閉文件等等操作,都可以放在exit方法當中。
6.while, for…in…
均為循環語句,使用while時要注意成立條件,防止陷入死循環
for in 遍歷
7.assert
斷言,聲明其布爾值必須為真的判定,如果發生異常就說明表達示為假。
可以理解assert斷言語句為raise-if-not,用來測試表示式,其返回值為假,就會觸發異常。
8.pass
pass是空語句,為了保證程序結構的完整性,
pass不做任何事情,一般用作 占位語句
當你編寫程序部分內容還沒想好,可用pass語句占位
9.yield
yield的意思是生產,返回了一個生成器對象,每個生成器只能使用一次
一個帶有 yield的函數就是一個generation,他和普通函數不同,生成一個generator看起來像函數調用,但不會執行任何函數代碼,直到對其調用.next()(在 for 循環中會自動調用 next())才開始執行 雖然執行流程仍按函數的流程執行,但每執行到一個 yield 語句就會中斷,並返回一個迭代值,下次執行時從 yield 的下一個語句繼續執行。看起來就好像一個函數在正常執行的過程中被 yield 中斷了數次,每次中斷都會通過 yield 返回當前的迭代值。send() 與next()
10.break 與 contiue
Python break語句用來終止循環,用在while和for循環中!!直接跳出整個循環
嵌套循環,break語句將停止執行最深層的循環,並開始執行下一行代碼
break是跳出整個循環,continue是跳出當前循環
11.try except finally
如果當try后的語句執行時發生異常,python就跳回到try並執行第一個匹配該異常的except子句,異常處理完畢,控制流就通過整個try語句(除非在處理異常時又引發新的異常)。
如果在try后的語句里發生了異常,卻沒有匹配的except子句,異常將被遞交到上層的try,或者到程序的最上層(這樣將結束程序,並打印缺省的出錯信息)。
如果在try子句執行時沒有發生異常,python將執行else語句后的語句(如果有else的話),然后控制流通過整個try語句。
12.raise
觸發異常
raise [Exception[,args[,traceback]]]
語句中Exception是異常的類型(例如,NameError)參數是一個異常參數值。
該參數是可選的,如果不提供,異常的參數是”None”。
最后一個參數是可選的(在實踐中很少使用),如果存在,是跟蹤異常對象。
raise 觸發異常后,后面的代碼就不會再執行
die函數,打印錯誤信息
13.exec–eval–execfile
exec 用來執行儲存在字符串或文件中的Python語句
exec是一條語句將字符串str當成有效的python代碼來執行
eval與execfile是pytho內置函數
eval(str[globals[locals]])函數將字符串str當成有效的python表達式來求值,並提供返回計算值
execfile(filename)函數可以用來執行文件
from os.path import exists
exists(file)將文件名字符串作為參數,如果文件存在返回True,否則返回False
14.return
return 是函數返回值
15.lambda—filter—map—reduce—
lambda 只是一個表達式,定義了一個匿名函數,起到函數速寫的作用
由於lambda只是一個表達式,它可以直接作為python 列表或python 字典的成員,比如map(function, sequence)
對sequence中的item 依次執行 function,將執行結果組成list返回單個參數
多個參數,要求函數接受多個參數
reduce(function, sequence, starting_value)
對sequence中的item順序迭代調用function,如果有starting_value,還可以作為初始值調用,例如可以用來對List求和