在我的程序中,函数中有几个变量需要在其他函数中调用。为此,我将需要的变量设为全局变量(例如:)
def Vcmi1(Vcm, VcmU, Vi1, Vi1U, Pi1, Pi1U, Pi2, Pi2U, m1, m1U, m2, m2U):
global Vcmi1
global Vcmi1U
Vcmi1 = Vi1-Vcm
Vcmi1U = (Vi1U+(((Pi1U+Pi2U)/(Pi1+Pi2))+((m1U+m2U)/(m1+m2))))*Vcmi1
return Vcmi1, Vcmi1U
但是,当我在后面的函数中使用它们时,这些变量是元组而不是浮点,它们不能与其他浮点相乘(例如:)
^{pr2}$我对python比较陌生,所以我不能百分之百地确定全局命令是如何工作的(为此,我昨晚发现了它)。我怎样才能使这个元组变成一个float,并且仍然能够在它的函数之外使用它呢?在
当您执行
return v1, u1
操作时,它将返回两个值。如果你像这样调用这个函数这两个值被打包成一个tuple和
^{pr2}$result = (v1, u1)
。另一种方法是像这样直接打开它们然后你可以把它们传递给下一行的下一个函数。总之,如果您的执行发生在
main
中,它应该是这样的(我已经重命名了您的第一个函数,以便更容易理解)在这种情况下不需要
global
。变量的名称空间在main
(或调用函数的任何一个)结束之前都是有效的使用global的唯一原因是不想传递这么多参数。在
相关问题 更多 >
编程相关推荐