2024-05-23 16:20:31 发布
网友
一个很简单的问题,我肯定我知道,但一定忘了
运行此代码时:
x = 0 def run_5(): print "5 minutes later" x += 5 print x, "minutes since start" run_5() print x
我得到x没有定义。我怎样才能让x在函数中使用并在函数之外生效呢?
为了确定,未定义的x是第4行的x,而不是最后一行的x。
函数之外的x仍然存在,并且不受影响。它的内部不能添加任何内容,因为就Python而言,当您尝试对它应用+=运算符时,它不存在。
把global x放在函数的开头。
global x
但是,您应该考虑是否真的需要这样做—最好从函数返回值。
只是返回一个值?
x = 0 def run_5(): print "5 minutes later" x += 5 return x x=run_5() print x
为了确定,未定义的x是第4行的x,而不是最后一行的x。
函数之外的x仍然存在,并且不受影响。它的内部不能添加任何内容,因为就Python而言,当您尝试对它应用+=运算符时,它不存在。
把
global x
放在函数的开头。但是,您应该考虑是否真的需要这样做—最好从函数返回值。
只是返回一个值?
相关问题 更多 >
编程相关推荐