我希望問候功能使用格式功能說“你好山姆,你好科迪”,但我收到此錯誤:
greet(names())
TypeError: greet() missing 1 required positional argument: 'y'
def names():
def name1():
x = "Sam"
return x
def name2():
y = "Cody"
return y
我需要在 greet(names()) 中輸入什么才能讓它作業?
from names import names
def greet(x,y):
template = "Hi {}, Hi {} ".format(x,y)
print(template)
greet(names())
uj5u.com熱心網友回復:
這是你追求的嗎:
def name1():
return 'Sam'
def name2():
return 'Cody'
def greet (x, y):
print (f'Hi {x}, Hi {y}')
greet (name1(), name2())
# Result:
# Hi Sam, Hi Cody
names() 回傳多個輸出
如果您想撰寫一個names()
回傳多個輸出的函式,您可以這樣做:
def names():
return 'Sam', 'Cody'
回傳自是names()
一個tuple
包含兩個字串的。如果您將它直接傳遞給greet()
,您將傳遞greet()
一個引數 - atuple
恰好包含兩個內容。這將產生您得到的錯誤:
greet (names())
TypeError: greet() missing 1 required positional argument: 'y'
另一方面,您可以在將tuple
回傳的 bynames()
傳遞給 時將其解包greet()
,如下所示:
greet (*names())
# Result:
# Hi Sam, Hi Cody
轉載請註明出處,本文鏈接:https://www.uj5u.com/qianduan/537590.html