軟工1作業筆記 20240420

陆舟LandBoat發表於2024-04-20

在Python中,可選引數(也稱為預設引數或關鍵字引數)是在定義函式時可以指定的引數,它們在呼叫函式時可以省略。如果呼叫者沒有提供這些引數,Python會使用這些引數的預設值。

可選引數有兩種形式:

  1. 預設值引數:在函式定義中,你可以透過在引數後面指定一個預設值來定義一個可選引數。如果函式呼叫時沒有提供該引數,Python會使用這個預設值。

  2. 可變引數:使用*args**kwargs,它們允許你定義一個函式,該函式可以接收任意數量的位置引數和關鍵字引數。

示例

預設值引數

def greet(name, message="Hello"):
    print(f"{message}, {name}!")

# 使用預設的訊息
greet("Alice")

# 指定訊息
greet("Bob", "Good morning")

在這個例子中,message是一個可選引數,它有一個預設值"Hello"。如果沒有提供message,函式會使用預設值。

可變引數

def make_pizza(*toppings):
    print("Making a pizza with the following toppings:")
    for topping in toppings:
        print(f" - {topping}")

# 不指定配料
make_pizza()

# 指定配料
make_pizza("mushrooms", "green peppers", "extra cheese")

在這個例子中,*toppings是一個可變引數,它允許函式接收任意數量的位置引數。

關鍵字引數

def build_profile(first, last, **user_info):
    profile = {'first_name': first, 'last_name': last}
    for key, value in user_info.items():
        profile[key] = value
    return profile

user_profile = build_profile('albert', 'einstein',
                              location='princeton',
                              field='physics')
print(user_profile)

在這個例子中,**user_info是一個關鍵字引數,它允許函式接收任意數量的關鍵字引數。

使用可選引數可以提高函式的靈活性,使得呼叫者可以根據自己的需要提供引數,而不必每次都提供所有引數。

相關文章