如何使用python在一个函数中声明变量并在另一个函数中引用它?

时间:2020-01-23 01:59:16

标签: python static

说我有这个代码:

def Declare():
    x = 5

def Print():
    print(x)

Declare()
Print()

这将引发错误,因为在Print()函数中未定义x。有没有一种方法可以创建可以在任何地方使用python引用的静态变量?

1 个答案:

答案 0 :(得分:1)

这有效:

def declare():
    global x
    x = 5

def print_x():
    global x
    print(x)

declare()
print_x()

一些说明:

  • 通常,全局变量不是一个好的解决方案,您可能应该研究在函数之间传递数据的更好方法;
  • 不要大写您的函数名(或在函数名和变量名中全部使用大写字母),Python中的大写字母表示类,而不是函数;
  • 除非确实需要,否则请不要定义会“阴影”标准Python关键字和库函数的内容(请注意,我将print更改为print_x
  • global x中没有print_x的情况下也可以使用,因为该函数在运行时可以访问全局范围,因此将其放入是一个优先事项。global仅在要在全局范围内定义和修改变量时才需要。