【发布时间】:2014-10-08 07:49:50
【问题描述】:
我正在尝试设置一个记录到 2 个变量和一个字典的函数,字典可以工作,但两个变量返回错误的东西
mydict{}
fname = 0
lname = 0
def enterdetails(fname, lname):
fname = input ("First Name: ");
fnamedict = fname
mydict['FirstName'] = fnamedict;
lname = input ("Last Name: ");
lnamedict = lname
mydict['LastName'] = lnamedict;
print(fname)
print(lname)
return mydict
return (fname, lname)
fname, lname = enterdetails(fname, lname)
print(fname, lname)
print(mydict)
但是 fname 和 lname 的变量分别作为 FirstName 和 LastName 出来。我该如何解决这个问题?
【问题讨论】:
-
您不能返回多个变量。一种解决方案是将它们全部放在一个字典中。
-
您的代码没有意义,您有 2 个返回语句,只有第一个会执行。你可以像这样返回一个字典和变量的元组
return mydict, fname, lname -
不过,您可以考虑使用 yield 语句。
-
@VincentBeltman - 您绝对可以返回多个变量 - 在元组中返回它们 - 就像 OP 在
return (fname, lname)行中所做的那样 - 尽管在这种情况下不需要括号。跨度> -
@VincentBeltman:不正确。
标签: python function variables dictionary return