Python 3.x 在函数之间传递变量:调用返回的变量还是使用类?

Python 3.x 在函数之间传递变量:调用返回的变量还是使用类?,python-3.x,Python 3.x,我找到了一种在函数之间传递变量的简单方法 然而,我很好奇是否有另一种方法更简单,例如创建一个类。或者,如果我传递变量的方法有问题 我最近很难理解变量是如何在函数之间传递的 对于这个问题,新手有几个StackOverflow问题(请参阅和)。然而,许多答案往往过于特定于提问者提供的代码片段 我想了解一般的工作流程。也就是说,变量A如何被传递到functionA,操纵,然后传递到functionB,再次更改,然后在functionC中输出 我想我有一个解决办法: def main(): 输出() d

我找到了一种在函数之间传递变量的简单方法

然而,我很好奇是否有另一种方法更简单,例如创建一个类。或者,如果我传递变量的方法有问题

我最近很难理解变量是如何在函数之间传递的

对于这个问题,新手有几个StackOverflow问题(请参阅和)。然而,许多答案往往过于特定于提问者提供的代码片段

我想了解一般的工作流程。也就是说,变量A如何被传递到functionA,操纵,然后传递到functionB,再次更改,然后在functionC中输出

我想我有一个解决办法:

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 那是更长的。这甚至更长。 四十

原始语句和值变量在函数之间传递

我传递变量的方法有四个步骤:

  • 建立处理变量的函数
  • 在函数末尾返回这些变量
  • 在functionB开始时,调用每个变量,它=functionA
  • functionB操作变量并再次返回它们以进行进一步操作,或者输出变量
  • 我的问题是:

    (a) 我的方式是公认的做法吗


    (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函数的内容。

    将值作为参数传递有什么错?显式比隐式好得多。使用此方法隐藏所有传递的数据,这会使代码更难理解。此外,通过对每个函数中的数据源进行硬编码,可以消除所有灵活性。简而言之:使用参数。:)@戴兹干杯。我刚刚发现了这个介绍他们的方法@蒂尔:好的。使用参数似乎是共识。下面回应的尼克·维塔也在告诉我同样的事情。非常感谢你,尼克。非常感谢您的迅速回复。