函數是組織程式碼的非常有效的方式,有了函數,我們就可以編寫大規模的專案。可以說,函數是組織程式碼的最小單元。
函數是程式碼封裝的一種手段,函數中包含一段可以重複執行的程式碼,在需要用到這些程式碼時,只需要呼叫函數,就會執行函數中的程式碼。
python 函數這麼定義:
def 函數名稱(引數1, 引數2):
函數體(要執行的程式碼)
比如一個很簡單的函數定義:
def add(a, b):
return a + b
現在我們舉個例子說明函數的作用。
print('開啟高階車門')
print('開發動機')
print('安全帶')
print('踩油門')
print('掌握方向')
如果要開很多次車,那麼每次都需要敲相同的 5 行程式碼,這樣會造成幾個問題:
現在我們可以把上述程式碼封裝在函數中,當需要執行這些程式碼時,呼叫函數就可以了,這樣減少了很多複製貼上或者手工編寫多行程式碼的步驟,函數的名稱也表明了程式碼的作用,當需要修改部分邏輯,只需要修改函數體就可以了。
def run_car():
print('開啟高階車門')
print('發動發動機')
print('繫上安全帶')
print('踩油門')
print('掌握方向')
run_car()
# 其他程式碼
run_car()
return 表示當函數執行完之後,想讓函數外面的程式得到函數執行的結果, return 的值可以任意的資料型別。
def add(a, b): return a + b
result = add(3,4)
print(result)
Python函數可以返回多個值, 只需要在多個值之間加上逗號,得到的是元組型別。
def add(a, b):
return a, b
return 表示函數返回給外部的值,而參數列示函數從外部接收的值。在函數定義時候的引數叫做形式引數,它其實就是一個變數名稱,在函數呼叫時候的引數叫做實際引數,相當於給變數賦值。
def get_coffee(suger):
if suger > 100:
return '甜咖啡'
elif suger < 1:
return '美式'
else:
return '莫名其妙的咖啡'
result = get_coffee(100)
print(result)
注意,形式引數的個數和實際引數的個數要一樣,而且順序要一致,這種方式叫做位置引數。(和領導吃飯做位置)如果形式引數和實際引數的個數不一致,會導致程式無法分別賦值:
def add(a, b):
c = a + b - 1
return c
add(5, 7, 8) # NO
關鍵字引數:在呼叫函數的時候,做一個關鍵字標記,以防傳參錯誤,造成損失。主要是當引數很多的情況,你記不清順序,關鍵字去標識資料的意思。
預設引數:在函數定義的時候,給某個變數直接賦值,成為預設值。 就是使用預設值直接賦值,在呼叫函數的時候,可以少傳引數。關鍵字引數,預設引數也好,都必須放到位置引數的後面。
def add(a, b=0):
c = a + b - 1
return c
add(a=4, b=6)
add(3)
自動化測試場景:新增多個資料,執行多個用例
def write_case(number):
for _ in range(number):
username = input("請輸入使用者名稱:")
passwd = input("請輸入密碼:")
age = input("請輸入年齡:")
user = dict()
user.update(username=username,
passwd=passwd,
age=age)
yield user
def run(case):
print(f"執行用例-使用者名稱{case['username']}")
cases = write_case(2)
for case in cases:
run(case)
作者:九柄
工作:軟體測試工程師
領資料或者技術交流務必備註部落格園
歡迎點贊和三連。