Python3中條件控制、循環(huán)與函數(shù)的簡(jiǎn)易教程
一、條件控制
Python條件語(yǔ)句是通過(guò)一條或多條語(yǔ)句的執(zhí)行結(jié)果(True或者False)來(lái)決定執(zhí)行的代碼塊,而計(jì)算機(jī)很多自動(dòng)化任務(wù),也是根據(jù)條件判斷來(lái)實(shí)現(xiàn)的。
我們可以通過(guò)下圖,來(lái)了解一下條件語(yǔ)句執(zhí)行的過(guò)程
和 Java 差不多,不同點(diǎn):
1、每個(gè)條件后面要使用冒號(hào)(:),表示接下來(lái)是滿足條件后要執(zhí)行的語(yǔ)句塊;
2、使用縮進(jìn)來(lái)劃分語(yǔ)句塊,相同縮進(jìn)數(shù)的語(yǔ)句在一起組成一個(gè)語(yǔ)句塊;
3、elif 代替了 else if;
4、在 Python 中沒(méi)有 switch – case 語(yǔ)句。
age = 18 if age <= 2: print('嬰兒') elif age <= 5: # elif 代替了 else if print('幼兒') elif age <= 12: print('兒童') elif age <= 18: print('少年') elif age <= 40: print('青年') elif age <= 59: print('中年') else: print('老年')
二、循環(huán)
Python 中的循環(huán)語(yǔ)句有 for 和 while。
for
names = ['n1', 'n2', 'n3', 'n4'] for n in names: print(n)
while
m = 5 n = 0 while n <= 5: # 符合條件執(zhí)行下面語(yǔ)句塊 n += 1 print('循環(huán)次數(shù):' + str(n)) else: # 可以有 else print('不符合條件')
注意:Python 沒(méi)有 do..while 循環(huán)
break 和 continue 語(yǔ)句
和 Java 一樣,break 跳出循環(huán)體;continue 中斷此次循環(huán),繼續(xù)進(jìn)行下一輪循環(huán)。
pass 語(yǔ)句
pass 是空語(yǔ)句,不做任何事情,是為了保持程序結(jié)構(gòu)的完整性。
names = ['n1', 'n2', 'n3', 'n4'] for m in names: pass # 這里什么都不寫,會(huì)報(bào)錯(cuò)
多重循環(huán)
在循環(huán)內(nèi)部,還可以嵌套循環(huán),我們來(lái)看一個(gè)例子:
for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print x + y
x 每循環(huán)一次,y 就會(huì)循環(huán) 3 次,這樣,我們可以打印出一個(gè)全排列:
A1 A2 A3 B1 B2 B3 C1 C2 C3
三、函數(shù)
定義
函數(shù)定義使用 def 關(guān)鍵字,函數(shù)命名全部小寫,可由下劃線連接各個(gè)單詞。
一般格式如下:
def 函數(shù)名(參數(shù)列表): 函數(shù)體
實(shí)例
def hello(): print('Hello,Python3') hello() # 函數(shù)調(diào)用
必傳參數(shù)
必傳參數(shù)必須以正確的順序傳入?yún)?shù)。
def hello1(x, y): print(x, y) hello1('必傳', '參數(shù)')
默認(rèn)參數(shù)
給參數(shù)添加默認(rèn)值,默認(rèn)參數(shù)可不傳。
def hello2(x, y, z=8, name='wxl'): print(x, y, z, name) hello2(666, 999) # 相當(dāng)于hello2(666, 999,8,'wxl') hello2(666, 999, 888) # 打?。?66 999 888 wxl hello2(666, 999, 888, 'WuXiaolong') # 打?。?66 999 888 WuXiaolong hello2(666, 999, name='WuXiaodlong') # 不按順序提供默認(rèn)參數(shù),打?。?66 999 8 WuXiaodlong
注意:
1、必傳參數(shù)必須在前,默認(rèn)參數(shù)在后,否則 Python 解釋器會(huì)報(bào)錯(cuò);
2、不按順序提供默認(rèn)參數(shù),需要把參數(shù)名寫上。
可變參數(shù)
可變參數(shù)顧名思義參數(shù)個(gè)數(shù)不定,在參數(shù)前面加了一個(gè) * 號(hào),可變參數(shù)接收到的是一個(gè) tuple,這樣傳入的參數(shù)個(gè)數(shù)是可變的,可以是 1 個(gè)、2 個(gè)、任意個(gè),還可以是 0 個(gè)。
def hello3(*y): print(y) hello3(1, '2', 3.0, True) # 打?。?1, '2', 3.0, True) hello3('wxl') # 打印:('wxl',) hello3() # 打?。?) def hello4(x, *y): print(x, y) hello4(1, '2', 3.0, True) # 打?。? ('2', 3.0, True) hello4('wxl') # 打?。簑xl ()
關(guān)鍵字參數(shù)
與可變參數(shù)類似,關(guān)鍵字參數(shù)個(gè)數(shù)不定,在參數(shù)前面加了一個(gè) ** 號(hào),關(guān)鍵字參數(shù)接收到的是一個(gè) dict。
def hello5(x, **y): print(x, y) hello5(1024) # 打印:1024 {} hello5(1024, name='WuXiaolong', code=520) # 打?。?024 {'name': 'WuXiaolong', 'code': 520}
返回值
使用 return 語(yǔ)句,可以將函數(shù)作為一個(gè)值賦值給指定變量。
def hello6(x): return x print(hello6(666)) # 打?。?66 def hello7(x, y): return x, y m = hello7(666, 999) type(m) print(type(m), m) # 打?。?lt;class 'tuple'> (666, 999)
全局變量
在函數(shù)里給一個(gè)變量賦值的時(shí)候,Python 自動(dòng)認(rèn)為這個(gè)變量是這個(gè)作用域的本地變量,并屏蔽作用域外的同名的變量,可以聲明 global,表示在向一個(gè)全局變量賦值。
# 全局變量 z = 1024 def hello8(): global z z = 520 print('z=' + str(z)) # z=520 hello8()
總結(jié)
以上就是這篇文章的全部?jī)?nèi)容了,希望本文的內(nèi)容對(duì)大家的學(xué)習(xí)或者工作具有一定的參考學(xué)習(xí)價(jià)值,如果有疑問(wèn)大家可以留言交流,謝謝大家對(duì)腳本之家的支持。
相關(guān)文章
python 計(jì)算兩個(gè)日期相差多少個(gè)月實(shí)例代碼
這篇文章主要介紹了python 計(jì)算兩個(gè)日期相差多少個(gè)月實(shí)例代碼,非常具有實(shí)用價(jià)值,需要的朋友可以參考下2017-05-05Python3網(wǎng)絡(luò)爬蟲(chóng)中的requests高級(jí)用法詳解
本節(jié)我們?cè)賮?lái)了解下 Requests 的一些高級(jí)用法,如文件上傳,代理設(shè)置,Cookies 設(shè)置等等。感興趣的朋友跟隨小編一起看看吧2019-06-06Python使用open函數(shù)的buffering設(shè)置文件緩沖方式
這篇文章主要介紹了Python使用open函數(shù)的buffering設(shè)置文件緩沖方式,具有很好的參考價(jià)值,希望對(duì)大家有所幫助,如有錯(cuò)誤或未考慮完全的地方,望不吝賜教2024-02-02基于Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能
mediaPipe,他就是一個(gè)集成好的包括人臉關(guān)鍵位點(diǎn)識(shí)別、身體關(guān)鍵位點(diǎn)識(shí)別、手部關(guān)鍵位點(diǎn)識(shí)別的一個(gè)包或者庫(kù),直接調(diào)用就能夠得到它的關(guān)鍵位點(diǎn)信息,本文給大家介紹Mediapipe+Opencv實(shí)現(xiàn)手勢(shì)檢測(cè)功能,感興趣的朋友一起看看吧2022-01-01python爬蟲(chóng)開(kāi)發(fā)之urllib模塊詳細(xì)使用方法與實(shí)例全解
這篇文章主要介紹了python爬蟲(chóng)開(kāi)發(fā)之urllib模塊詳細(xì)使用方法與實(shí)例全解,需要的朋友可以參考下2020-03-03