- 必要參數:必要參數是在函式呼叫時必須提供的參數,它們的順序和數量必須與函式定義中的參數相符。如果在呼叫函式時沒有提供必要參數,將引發錯誤。
- 預設參數:預設參數是在函式定義中指定的參數,它們有一個預設的值。如果在函式呼叫時沒有提供對應的參數,將使用預設值。預設參數可以為函式提供更多的靈活性。
- 關鍵字參數:關鍵字參數是在函式呼叫時使用參數名稱和對應的值進行指定的參數。這樣可以不按照參數的順序提供參數值,並且可以避免由於參數順序錯誤而產生的混淆。
- 不定數量參數:有時候你可能需要處理不定數量的參數。Python提供了兩種方式來處理這種情況:
範例一:必要參數
- 可變個數的位置參數(args):使用星號()前綴來指定一個可變數量的位置參數。這允許函式接受任意數量的位置參數,並將它們作為一個元組傳遞給函式。
- 可變個數的關鍵字參數(kwargs):使用雙星號()前綴來指定一個可變數量的關鍵字參數。這允許函式接受任意數量的關鍵字參數,並將它們作為一個字典傳遞給函式。
def calculate_price(單價, 交易量): 總價格 = 單價 * 交易量 return 總價格 單價 = 100 交易量 = 12 總價格 = calculate_price(單價, 交易量) print("購買", 交易量, "公斤百香果的總價格為:", 總價格, "元")
執行結果:
購買 12 公斤百香果的總價格為: 1200 元
def calculate_price(單價, 交易量=1):
總價格 = 單價 * 交易量
return 總價格
單價 = 100
總價格 = calculate_price(單價)
print("購買1公斤百香果的總價格為:", 總價格, "元")
總價格 = calculate_price(單價, 12)
print("購買12公斤百香果的總價格為:", 總價格, "元")
執行結果:
購買1公斤百香果的總價格為: 100 元
購買12公斤百香果的總價格為: 1200 元
def check_origin(產地):
if 產地 == "埔里":
return True
else:
return False
百香果產地 = "埔里"
if check_origin(產地=百香果產地):
print("這是埔里產地的百香果")
else:
print("這不是埔里產地的百香果")
執行結果:
這是埔里產地的百香果
def list_nutrients(*營養成分):
for 成分 in 營養成分:
print(成分)
list_nutrients("維生素A", "維生素C", "鎂", "磷", "鐵", "鋅")
執行結果:
維生素A
維生素C
鎂
磷
鐵
鋅
def print_info(**資訊):
for key, value in 資訊.items():
print(key + ": " + str(value))
print_info(品名="百香果", 產地="埔里", 顏色="黃色", 價格=100)
執行結果:
品名: 百香果
產地: 埔里
顏色: 黃色
價格: 100
沒有留言:
張貼留言