【问题标题】:Defined function in python gets rid of variable after finishpython中定义的函数在完成后摆脱了变量
【发布时间】:2012-10-27 14:02:02
【问题描述】:

用python制作了一个模块。它充当机器代码的模型。我有一个名为 accumulator 的变量。

accumulator=0

但是在我运行一个改变累加器的函数之后,就像

def function(number):
  accumulator=number
  return

然后打印累加器以显示其中的内容,它只是说0

如何使变量在创建它的函数完成后仍能被识别?

【问题讨论】:

  • 你是真的运行了这个函数,还是只是定义了它?

标签: python python-3.x


【解决方案1】:

这是因为accumulator 是全局的,函数内部的accumulator=number 绑定了一个新的本地名称accumulator 等于数字。在function 中,您可以使用accumulator,但如果不使用global 语句,您将无法分配给它。

您将获得所需的结果:

def function(number):
    global accumulator
    accumulator = number

注意return是多余的,好像Python语句不返回一样,默认返回None

【讨论】:

    猜你喜欢
    • 2010-10-01
    • 2015-12-21
    • 2022-01-21
    • 2019-04-22
    • 2018-06-09
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多