是否有一种简单有效的方法可以在Python中将全局变量用于类的方法中

yiytaume  于 2022-10-30  发布在  Python
关注(0)|答案(3)|浏览(153)

我有一个代码,其中一个类使用了很多变量。我不能访问这些变量中的一个,以便在我用Python编写的代码的方法中使用它。
我尝试将变量声明为全局变量,以使值在代码的任何位置都可访问,但这是不可行的。我希望在特定方法中使用该变量

sqxo8psd

sqxo8psd1#

在Python中,“变量”实际上是“名称”,只要它们在作用域中,你就可以访问它们!
但是,如果您打算 * 修改 * 当前作用域之外的名称,则需要告诉解释器(否则它会假定您打算将该名称赋予作用域中的其他对象)
第一个
使用全局

a = None

def foo():
    global a
    # now you can modify a
    a = 1

创建错误

a = None

def foo():
    print(a)
    global a  # SyntaxError: name 'a' is used prior to global declaration
l0oc07j2

l0oc07j22#

没有简单的方法。当你改变函数中的变量时,使用(global a)。
例如,当您变更函数中的变数时。

a = 0

def asi():
    global a
    a = 1

输出量:1
例如,当您不更改变量,但要在函数中使用它时。

a = 0

def asi():
    print(a)

输出:0

dl5txlt9

dl5txlt93#

你问题我不明白:
1.你没有分享任何解释代码
1.在OOP(用户称类和方法)中,你怎么可能不能访问变量(全局变量或类变量:两者可能不相同,但它是为了争论)
1."在我用python写的代码中“实际上是什么意思?在同一个类?方法?模块?venv?
注:-每个问题可能没有答案,在编码中,它可能是文献...(什么是逻辑.....)

相关问题