Python參數示例:讓你的函數更具靈活性

一、位置參數

位置參數是指按照函數定義時的位置,將實參傳遞給函數。下面的代碼示例定義了一個函數,用於計算矩形的面積。

def rectangle_area(width, height):
    return width * height

# 調用函數計算矩形面積
area = rectangle_area(5, 10)
print("矩形面積是:", area)

在這個函數中,width和height是位置參數,所以必須按照順序傳遞實參。調用rectangle_area函數時傳遞的第一個實參5綁定到了width參數,第二個實參10綁定到了height參數。執行這段代碼後,輸出結果為:

矩形面積是: 50

二、關鍵字參數

關鍵字參數是指按照參數名字指定的順序,將實參傳遞給函數。下面的代碼示例定義了一個函數,用於計算任意多個數的平均值。

def average(*numbers):
    count = len(numbers)
    total = sum(numbers)
    return total / count

# 調用函數計算三個數的平均值
result = average(1, 3, 5)
print("三個數的平均值是:", result)

# 調用函數計算五個數的平均值
result = average(10, 20, 30, 40, 50)
print("五個數的平均值是:", result)

在這個函數中,*numbers使用了可變參數,可以接收任意多個實參。調用average函數時傳遞的實參會被封裝成一個元組numbers,就可以對其中的數據進行處理。執行這段代碼後,輸出結果為:

三個數的平均值是: 3.0
五個數的平均值是: 30.0

三、默認參數

默認參數是指在函數定義時指定一個默認值。當不傳遞該參數時,使用默認值。下面的代碼示例定義了一個函數,用於打印指定次數的消息。

def print_message(message, count=1):
    for i in range(count):
        print(message)

# 調用函數打印一次消息
print_message("Hello, World!")

# 調用函數打印三次消息
print_message("Python is awesome!", 3)

在這個函數中,count參數的默認值是1。當調用print_message函數時不指定count參數時,就使用默認值1。執行這段代碼後,輸出結果為:

Hello, World!
Python is awesome!
Python is awesome!
Python is awesome!

四、強制關鍵字參數

強制關鍵字參數是指使用*來分隔位置參數和關鍵字參數,強制要求關鍵字參數必須使用參數名來指定。下面的代碼示例定義了一個函數,用於輸出學生的信息。

def student_info(name, age, *, major):
    print("姓名:", name)
    print("年齡:", age)
    print("專業:", major)

# 調用函數輸出學生信息
student_info("小明", 18, major="計算機科學")

在這個函數中,*表示後面的參數必須使用參數名來指定,不可省略。執行這段代碼後,輸出結果為:

姓名: 小明
年齡: 18
專業: 計算機科學

五、可變參數

可變參數是指函數定義時,參數的個數是不確定的。下面的代碼示例定義了一個函數,用於計算任意多個數的和。

def add(*numbers):
    total = 0
    for number in numbers:
        total += number
    return total

# 調用函數計算三個數的和
sum = add(1, 2, 3)
print("三個數的和是:", sum)

# 調用函數計算五個數的和
sum = add(10, 20, 30, 40, 50)
print("五個數的和是:", sum)

在這個函數中,*numbers使用了可變參數,可以接收任意多個實參。調用add函數時傳遞的實參會被封裝成一個元組numbers,就可以對其中的數據進行處理。執行這段代碼後,輸出結果為:

三個數的和是: 6
五個數的和是: 150

原創文章,作者:小藍,如若轉載,請註明出處:https://www.506064.com/zh-hk/n/297698.html

(0)
打賞 微信掃一掃 微信掃一掃 支付寶掃一掃 支付寶掃一掃
小藍的頭像小藍
上一篇 2024-12-28 12:16
下一篇 2024-12-28 12:16

相關推薦

發表回復

登錄後才能評論