【发布时间】:2021-06-18 14:32:39
【问题描述】:
我认为标题已经有点解释性了。假设我有一堂课:
# Class in file 1
class Foo(object):
def __init__(self):
x = 10
是否可以将变量“x”传递给存储在另一个文件中的另一个类?比如说:
# Class in file 2
class Foo(object):
def print_variable(x):
print(x)
【问题讨论】:
-
不,第一个
x仅限于函数__init__的本地范围,不能在其他任何地方使用。首先,这听起来像是一个 XY 问题或非常糟糕的设计。 -
它们在不同文件中的事实并不重要。这些要么都是从第三个主文件导入的,要么是从另一个导入的。它们成为具有两个不同命名空间的两个不同的类此外,正如@MikeScotty 指出的那样,定义文件 1
Foo.__init__的方式, x 是一个临时局部变量,一旦初始化对象就会消失。您是否正在尝试组合类,例如继承? -
@RufusVS 不,但我可以试试。如果我使用继承,那么“超级”类的所有参数都可以用于“子”类,对吧?
标签: python class variables parameter-passing