Python 3.x 在函数之间传递变量:调用返回的变量还是使用类?
我找到了一种在函数之间传递变量的简单方法 然而,我很好奇是否有另一种方法更简单,例如创建一个类。或者,如果我传递变量的方法有问题 我最近很难理解变量是如何在函数之间传递的 对于这个问题,新手有几个StackOverflow问题(请参阅和)。然而,许多答案往往过于特定于提问者提供的代码片段 我想了解一般的工作流程。也就是说,变量A如何被传递到functionA,操纵,然后传递到functionB,再次更改,然后在functionC中输出 我想我有一个解决办法:Python 3.x 在函数之间传递变量:调用返回的变量还是使用类?,python-3.x,Python 3.x,我找到了一种在函数之间传递变量的简单方法 然而,我很好奇是否有另一种方法更简单,例如创建一个类。或者,如果我传递变量的方法有问题 我最近很难理解变量是如何在函数之间传递的 对于这个问题,新手有几个StackOverflow问题(请参阅和)。然而,许多答案往往过于特定于提问者提供的代码片段 我想了解一般的工作流程。也就是说,变量A如何被传递到functionA,操纵,然后传递到functionB,再次更改,然后在functionC中输出 我想我有一个解决办法: def main(): 输出() d
def main():
输出()
def function1():
这是一个字符串变量
value=(10)#这是一个数字变量
返回语句,值#返回
def firstAddition():
语句,value=function1()#通过运行function1()调用变量
Add1stContent=“{}at更长。”。格式(句子[0:2])#字符串已更改
add1stValue=2*值#编号已更改
return add1stcontence,add1stValue#返回更改后的值
def secondAddition():#此函数进一步更改变量
add1stcontent,add1stValue=firstAddition()
add2ndSentence=“{}这甚至更长。”.format(add1stcontent)
add2ndValue=2*add1stValue
返回add2ndentence,add2ndValue
def output():#函数调用所有变量并打印
句子,值=函数()
add1stcontent,add1stValue=firstAddition()
add2ndcentence,add2ndValue=secondAddition()
打印(句子)
打印(str(值))
打印(添加1内容)
打印(str(add1stValue))
打印(添加第2个条目)
打印(str(add2ndValue))
上述代码的输出如下所示:
这是简短的。
10
那是更长的。
20
那是更长的。这甚至更长。
四十
原始语句和值变量在函数之间传递
我传递变量的方法有四个步骤:
(b) 有更好或更优雅的方法在函数之间传递变量吗?将变量传递到函数中的方法是通过函数参数(也称为函数参数) 在您的情况下,您可以修改functionB以接受输入。您的示例有点复杂,但我会将其简化为您更容易理解的示例 现在,你基本上在做这样的事情:
def functionA():
return 12
def functionB():
return 5
def caller():
holder = functionA() + functionB()
print(holder)
一般来说,这是可行的,但更可取的做法是:
def functionA():
return 5
def functionB(number):
return(number+5)
def caller():
holder = functionA()
output = functionB(holder)
print(output)
甚至:
def caller():
print(functionB(functionA()))
您可以将函数的输出传递给其他函数
在继续讨论更复杂的问题之前,我已经阅读了更多关于python函数的内容。将值作为参数传递有什么错?显式比隐式好得多。使用此方法隐藏所有传递的数据,这会使代码更难理解。此外,通过对每个函数中的数据源进行硬编码,可以消除所有灵活性。简而言之:使用参数。:)@戴兹干杯。我刚刚发现了这个介绍他们的方法@蒂尔:好的。使用参数似乎是共识。下面回应的尼克·维塔也在告诉我同样的事情。非常感谢你,尼克。非常感谢您的迅速回复。