簡體   English   中英

配對參數的調用函數

[英]Call function for paired arguments

這是生成問候消息的簡單腳本:

def greeting(event, person):
    print("Happy " + event + ", dear " + person + ".")

event = "Birthday"
person = "Emily"
greeting(event, person) # Happy Birtday, dear Emily.

event = "New Year"
person = "Mark"
greeting(event, person) # Happy New Year, dear Mark.

有沒有辦法獲得相同的結果,但是只調用一次greeting函數?

您可以將其放在循環中以處理名稱和事件的列表。 我建議保持內部函數不變,並從外部向其觸發一系列數據。 根據您的應用,里程可能會有所不同。

def greeting(event, person):
    print("Happy " + event + ", dear " + person + ".")

event_list = [("Birthday", "Emily"),
              ("New Year", "Mark")]
for event, person in event_list:
    greeting(event, person)

如果只想讓函數循環輸入,這應該可以工作:

def greeting(messages):
    for event, person in messages:
        print("Happy " + event + ", dear " + person + ".")

greeting([('Birthday', 'Emily'), ('New Year', 'Mark')])

如果可以修改問候語:

def greeting(info_pairs):
    for event, person in info_pairs:
         print("Happy " + event + ", dear " + person + ".")

greeting([("Birthday", "Emily"), ("New Year", "Mark")])

其他用戶提到的任何一個選項都可以使用。 這取決於您要將循環放在函數中還是在函數外部:

def greeting(event, person):
    print("Happy " + event + ", dear " + person + ".")

for event, person in [("Birthday", "Emily"),
              ("New Year", "Mark")]:
    greeting(event, person)

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM