首页 > 解决方案 > 如何在一个函数中声明一个变量并使用 python 在另一个函数中引用它?

问题描述

说我有这个代码:

def Declare():
    x = 5

def Print():
    print(x)

Declare()
Print()

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

标签: pythonstatic

解决方案


这有效:

def declare():
    global x
    x = 5

def print_x():
    global x
    print(x)

declare()
print_x()

几点说明:

  • 通常,全局变量不是一个好的解决方案,您可能应该考虑在函数之间传递数据的更好方法;
  • 不要大写你的函数名(或在函数和变量名中使用大写),Python 中的大写表示类,而不是函数;
  • 不要定义“遮蔽”标准 Python 关键字和库函数的东西,除非你真的必须(注意我print改为print_x;
  • 这在没有global xin的情况下也可以工作print_x,因为该函数在运行时可以访问全局范围,因此将其放入是一个偏好问题。global仅当您想在全局范围内定义和修改变量时才需要。

推荐阅读