Python3中條件控制、循環(huán)與函數(shù)的簡易教程
一、條件控制
Python條件語句是通過一條或多條語句的執(zhí)行結果(True或者False)來決定執(zhí)行的代碼塊,而計算機很多自動化任務,也是根據條件判斷來實現(xiàn)的。
我們可以通過下圖,來了解一下條件語句執(zhí)行的過程

和 Java 差不多,不同點:
1、每個條件后面要使用冒號(:),表示接下來是滿足條件后要執(zhí)行的語句塊;
2、使用縮進來劃分語句塊,相同縮進數(shù)的語句在一起組成一個語句塊;
3、elif 代替了 else if;
4、在 Python 中沒有 switch – case 語句。
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)語句有 for 和 while。
for
names = ['n1', 'n2', 'n3', 'n4'] for n in names: print(n)
while
m = 5
n = 0
while n <= 5: # 符合條件執(zhí)行下面語句塊
n += 1
print('循環(huán)次數(shù):' + str(n))
else: # 可以有 else
print('不符合條件')
注意:Python 沒有 do..while 循環(huán)
break 和 continue 語句
和 Java 一樣,break 跳出循環(huán)體;continue 中斷此次循環(huán),繼續(xù)進行下一輪循環(huán)。
pass 語句
pass 是空語句,不做任何事情,是為了保持程序結構的完整性。
names = ['n1', 'n2', 'n3', 'n4'] for m in names: pass # 這里什么都不寫,會報錯
多重循環(huán)
在循環(huán)內部,還可以嵌套循環(huán),我們來看一個例子:
for x in ['A', 'B', 'C']: for y in ['1', '2', '3']: print x + y
x 每循環(huán)一次,y 就會循環(huán) 3 次,這樣,我們可以打印出一個全排列:
A1 A2 A3 B1 B2 B3 C1 C2 C3
三、函數(shù)
定義
函數(shù)定義使用 def 關鍵字,函數(shù)命名全部小寫,可由下劃線連接各個單詞。
一般格式如下:
def 函數(shù)名(參數(shù)列表): 函數(shù)體
實例
def hello():
print('Hello,Python3')
hello() # 函數(shù)調用
必傳參數(shù)
必傳參數(shù)必須以正確的順序傳入參數(shù)。
def hello1(x, y):
print(x, y)
hello1('必傳', '參數(shù)')
默認參數(shù)
給參數(shù)添加默認值,默認參數(shù)可不傳。
def hello2(x, y, z=8, name='wxl'): print(x, y, z, name) hello2(666, 999) # 相當于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') # 不按順序提供默認參數(shù),打印:666 999 8 WuXiaodlong
注意:
1、必傳參數(shù)必須在前,默認參數(shù)在后,否則 Python 解釋器會報錯;
2、不按順序提供默認參數(shù),需要把參數(shù)名寫上。
可變參數(shù)
可變參數(shù)顧名思義參數(shù)個數(shù)不定,在參數(shù)前面加了一個 * 號,可變參數(shù)接收到的是一個 tuple,這樣傳入的參數(shù)個數(shù)是可變的,可以是 1 個、2 個、任意個,還可以是 0 個。
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) # 打印:1 ('2', 3.0, True)
hello4('wxl') # 打?。簑xl ()
關鍵字參數(shù)
與可變參數(shù)類似,關鍵字參數(shù)個數(shù)不定,在參數(shù)前面加了一個 ** 號,關鍵字參數(shù)接收到的是一個 dict。
def hello5(x, **y):
print(x, y)
hello5(1024) # 打印:1024 {}
hello5(1024, name='WuXiaolong', code=520) # 打?。?024 {'name': 'WuXiaolong', 'code': 520}
返回值
使用 return 語句,可以將函數(shù)作為一個值賦值給指定變量。
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) # 打印:<class 'tuple'> (666, 999)
全局變量
在函數(shù)里給一個變量賦值的時候,Python 自動認為這個變量是這個作用域的本地變量,并屏蔽作用域外的同名的變量,可以聲明 global,表示在向一個全局變量賦值。
# 全局變量
z = 1024
def hello8():
global z
z = 520
print('z=' + str(z)) # z=520
hello8()
總結
以上就是這篇文章的全部內容了,希望本文的內容對大家的學習或者工作具有一定的參考學習價值,如果有疑問大家可以留言交流,謝謝大家對腳本之家的支持。
相關文章
Python使用open函數(shù)的buffering設置文件緩沖方式
這篇文章主要介紹了Python使用open函數(shù)的buffering設置文件緩沖方式,具有很好的參考價值,希望對大家有所幫助,如有錯誤或未考慮完全的地方,望不吝賜教2024-02-02
基于Mediapipe+Opencv實現(xiàn)手勢檢測功能
mediaPipe,他就是一個集成好的包括人臉關鍵位點識別、身體關鍵位點識別、手部關鍵位點識別的一個包或者庫,直接調用就能夠得到它的關鍵位點信息,本文給大家介紹Mediapipe+Opencv實現(xiàn)手勢檢測功能,感興趣的朋友一起看看吧2022-01-01
python爬蟲開發(fā)之urllib模塊詳細使用方法與實例全解
這篇文章主要介紹了python爬蟲開發(fā)之urllib模塊詳細使用方法與實例全解,需要的朋友可以參考下2020-03-03

