您好,登錄后才能下訂單哦!
這篇文章主要講解了“Python函數如何定義和調用”,文中的講解內容簡單清晰,易于學習與理解,下面請大家跟著小編的思路慢慢深入,一起來研究和學習“Python函數如何定義和調用”吧!
函數是代碼封裝的一種手段,函數中包含一段可以重復執行的代碼,在需要用到這些代碼時,只需要調用函數,就會運行函數中的代碼。
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)
? 函數體當中的代碼, 遇到 return 會終止運行。
? 函數的返回結果可以是任意類型,包括 None
? 當函數體當中沒有 return ,默認返回 None
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)
感謝各位的閱讀,以上就是“Python函數如何定義和調用”的內容了,經過本文的學習后,相信大家對Python函數如何定義和調用這一問題有了更深刻的體會,具體使用情況還需要大家實踐驗證。這里是億速云,小編將為大家推送更多相關知識點的文章,歡迎關注!
免責聲明:本站發布的內容(圖片、視頻和文字)以原創、轉載和分享為主,文章觀點不代表本網站立場,如果涉及侵權請聯系站長郵箱:is@yisu.com進行舉報,并提供相關證據,一經查實,將立刻刪除涉嫌侵權內容。