我有一个代码,其中一个类使用了很多变量。我不能访问这些变量中的一个,以便在我用Python编写的代码的方法中使用它。我尝试将变量声明为全局变量,以使值在代码的任何位置都可访问,但这是不可行的。我希望在特定方法中使用该变量
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
l0oc07j22#
没有简单的方法。当你改变函数中的变量时,使用(global a)。例如,当您变更函数中的变数时。
a = 0 def asi(): global a a = 1
输出量:1例如,当您不更改变量,但要在函数中使用它时。
a = 0 def asi(): print(a)
输出:0
dl5txlt93#
你问题我不明白:1.你没有分享任何解释代码1.在OOP(用户称类和方法)中,你怎么可能不能访问变量(全局变量或类变量:两者可能不相同,但它是为了争论)1."在我用python写的代码中“实际上是什么意思?在同一个类?方法?模块?venv?注:-每个问题可能没有答案,在编码中,它可能是文献...(什么是逻辑.....)
3条答案
按热度按时间sqxo8psd1#
在Python中,“变量”实际上是“名称”,只要它们在作用域中,你就可以访问它们!
但是,如果您打算 * 修改 * 当前作用域之外的名称,则需要告诉解释器(否则它会假定您打算将该名称赋予作用域中的其他对象)
第一个
使用全局
创建错误
l0oc07j22#
没有简单的方法。当你改变函数中的变量时,使用(global a)。
例如,当您变更函数中的变数时。
输出量:1
例如,当您不更改变量,但要在函数中使用它时。
输出:0
dl5txlt93#
你问题我不明白:
1.你没有分享任何解释代码
1.在OOP(用户称类和方法)中,你怎么可能不能访问变量(全局变量或类变量:两者可能不相同,但它是为了争论)
1."在我用python写的代码中“实际上是什么意思?在同一个类?方法?模块?venv?
注:-每个问题可能没有答案,在编码中,它可能是文献...(什么是逻辑.....)