1. 程式人生 > 其它 >4.python-定義函式

4.python-定義函式

函式

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)

函式的記憶體分別