昨晚有讀者問行哥有沒有保留字總結,這不它來了
關鍵字
保留字也稱為關鍵字,指被程式設計語言内部定義并保留使用的辨別符,程式員編寫程式時不能定義與保留字相同的辨別符。每種程式設計語言都有一套保留字,保留字一般用來構成程式整體架構、表達關鍵值和具有結構性的複雜語義等。掌握一門程式設計語言首先要熟記其所對應的保留字。
False await else import pass
None break except in raise
True class finally is return
and continue for lambda try
as def from nonlocal while
assert del global not with
async elif if or yield
一共有35個關鍵字,行哥來分門别類的給大家介紹一下,有不認識的可以給自己補充一下了
1. True、False
2. and、or、not
3.class
4.is、in
5.try、except、finally、raise
6.if、elif、else
7.def、global、nonlocal、return、yield
8.for、while
9.break、continue
10.assert
11.del
12.import、from、 as
13.with
14.pass
15.await、async
16.lambda
1. True、False
False 布爾類型的值,表示假,與True相反 True 布爾類型的值,表示真,與False相反
2. and、or、not
邏輯運算符 與、或、非
3.class
定義類的關鍵字
4.is、in
Python中的對象包含三個要素:id,type,value 其中:
id:用來唯一辨別一個對象
type:辨別對象的類型
value:是對象的值
is:就是用來判斷a對象是否就是b對象,是通過id來判斷的
==:判斷的是a對象的值是否和b對象的值相等,是通過value來判斷的
in:判斷變量是否存在序列中
5.try、except、finally、raise
使用try...except...finally語句來處理異常。
通常的語句塊放在try塊中
錯誤處理的語句放在except塊中
始終執行的語句放在finally塊中
raise 語句抛出一個指定的異常。
try:
#some code here
raise MyException
except MyException:
print("MyException encoutered")
finally:
print("Arrive finally")
x = 10
if x > 5:
raise Exception('x 不能大于 5。x 的值為: {}'.format(x))
6.if、elif、else
判斷語句,if語句用來檢驗一個條件,如果條件為真,運作一塊語句(稱為if…塊),否則處理另外一塊語句(稱為else…塊)。else從句是可選的
7.def、global、nonlocal、return、yield
def 定義函數的關鍵字
global 定義全局變量
nonlocal 在局部尋找外層函數中離他最近的那個變量
return 函數中的傳回值
yield的用法有點像return,除了它傳回的是一個生成器
def createGenerator():
mylist = range(3)
for i in mylist:
yield i*i
8.for、while
for循環可以周遊任何序列的項目,如一個清單或者一個字元串 while循環可以通關判斷條件真假無限循環
9.break、continue
break語句是用來終止循環語句,即使哪怕循環條件沒有稱為false或者序列還沒有被完全遞歸,也會停止循環
continue語句被用來跳過目前循環塊中的剩餘語句,繼續進行下一輪循環
10.assert
assert 關鍵字用于在代碼中設定檢查點,用于當程式出現錯誤時中斷程式執行。
>>> a = 3
>>> assert 0 < a < 10
>>> a = 20
>>> assert 0 < a <10
Traceback (most recent call last):
File "<pyshell#3>", line 1, in <module>
assert 0 < a <10
AssertionError
# assert 條件後可以增加錯誤資訊解釋
>>> a = 20
>>> assert 0 < a < 10, '超出範圍!'
Traceback (most recent call last):
File "<pyshell#5>", line 1, in <module>
assert 0 < a < 10, '超出範圍!'
AssertionError: 超出範圍!
11.del
del删除變量或者序列的值
a = [-1,3,'aa',85] # 定義一個list
del a[0] # 删除第0個元素
del a[2:4] # 删除從第2個到第3個元素。
12.import、from、 as
用于導包,as為重命名
from turtle import fd as f
13.with
用于檔案的讀寫
# 寫檔案
with open("test.txt", "wt") as out_file:
out_file.write("公衆号:一行資料,沒想到吧,這裡有植入")
14.pass
pass空的類,函數,方法的占位符
15.await、async
async 用來聲明一個函數為異步函數,異步函數的特點是能在函數執行過程中挂起,去執行其他異步函數,等到挂起條件(假設挂起條件是sleep(5))消失後,也就是5秒到了再回來執行。
await 用來用來聲明程式挂起,比如異步程式執行到某一步時需要等待的時間很長,就将此挂起,去執行其他的異步程式。
async def test2(i):
r = await other_test(i)
print(i,r)
async def other_test(i):
r = requests.get(i)
print(i)
await asyncio.sleep(4)
print(time.time()-start)
return r
url = ["https://segmentfault.com/p/1210000013564725",
"https://www.jianshu.com/p/83badc8028bd",
"https://www.baidu.com/"]
loop = asyncio.get_event_loop()
task = [asyncio.ensure_future(test2(i)) for i in url]
start = time.time()
loop.run_until_complete(asyncio.wait(task))
endtime = time.time()-start
print(endtime)
loop.close()
16.lambda
通常是在需要一個函數,但是又不想費神去命名一個函數的場合下使用,也就是匿名函數
<函數名> = lambda <參數> : <表達式>
f = lambda x, y, z: x+y+z #f是表達式的名字
>>> f(1,2,3) #像函數一樣調用