4.python-定義函式
阿新 • • 發佈:2022-12-09
函式
1. pycharm快捷鍵
Ctrl + Q 快速檢視文件(能快速檢視到選擇的函式建立者對該函式的註釋)
2. 定義
(1) 用於封裝一個特定的功能,表示一個功能或者行為。
(2) 函式是可以重複執行的語句塊, 可以重複呼叫。
(3) 設計理念:崇尚小而精,拒絕大而全
""" 函式設計理念: 崇尚小而精,拒絕大而全 返回值 """ # 需求:定義函式,實現2個數字相加 """ def add(): # 獲取資料 one = int(input("請輸入第一個數字:")) two = int(input("請輸入第二個數字:")) # 邏輯計算 result = one + two # 顯示結果 print("結果是:%s" % result) add()""" # 函式要細分明確它的功能, # 如邏輯計算,還是獲取資料,抑或顯示結果,功能要明確 def add(one, two): # 邏輯計算 result = one + two return result # 返回結果 【傳送】 # 接收返回值 【接收】 data = add(2, 5) print(data)
3. 作用
將功能的做法與用法分離
提高程式碼的可重用性和可維護性(程式碼層次結構更清晰)。
4. 基礎語法
4.1 定義函式
(1) 語法
def 函式名(形式引數): 函式體
(2) 說明:
def 關鍵字:全稱是define,意為”定義”。
函式名:對函式體中語句的描述,規則與變數名相同。
形式引數:函式定義者要求呼叫者提供的資訊。
函式體:完成該功能的語句。
""" 函式-引數 函式呼叫者 傳遞給 函式定義者 傳遞的資訊 """ # 做法(變化) def attack(count): # 形式引數:抽象的 for i in range(count): # 01234 print("直拳") print("擺拳") print("勾拳") # 除錯F8:逐過程執行(跳過函式) # F7:逐語句執行(進入函式) # 用法 count = 2 attack(count)# 實際引數:具體的 迴圈2次 num = 3 attack(num) # 迴圈3次 attack(5) # 迴圈5次
(3) 函式的第一行語句建議使用文件字串描述函式的功能與引數(可在pycharm中按ctrl+q檢視)
""" 練習1:建立計算治癒比例的函式 confirmed = int(input("請輸入確診人數:")) cure = int(input("請輸入治癒人數:")) cure_rate = cure / confirmed * 100 print("治癒比例為" + str(cure_rate) + "%") """ def calculate_cure_ratio(confirmed, cure): """ 計算治癒比例的函式 :param confirmed: int型別,確診人數 :param cure: int型別,治癒人數 :return: float型別,治癒比例 """ cure_rate = cure / confirmed * 100 return cure_rate rate = calculate_cure_ratio(58, 57) print(rate) num01, num02 = 58, 57 calculate_cure_ratio(num01, num02) print("治癒比例為%s" % rate)
4.2 呼叫函式
(1) 語法:函式名(實際引數)
(2) 說明:根據形參傳遞內容。
4.3 返回值
(1) 定義: 函式定義者告訴呼叫者的結果。
(2) 語法: return 資料
(3) 說明:
return後沒有語句,相當於返回 None。
函式體沒有return,相當於返回None。
""" 函式 - 返回值語法 """ # 返回結果 def func01(): print("func01執行了") return 100 def func02(): print("func02執行了") # 函式沒有返回值,相當於返回了None # return # 函式有返回,但沒值 def func03(): # 正常:3個迴圈應該有3個break結束 # while True: # while True: # while True: # break # break # break while True: while True: while True: return # 退出函式 # 接收結果 data01 = func01() print(data01) # 也可以不接 func01() data02 = func02() # None print(data02)