我在使用Python嵌套类时遇到了一些困境。我想要做的是从A类顶层的函数中获取变量,并在子类B中使用它们。 像这样的东西
public void Add(Logged user)
{
if (!UserList.Any(u => u.Username == user.Username))
{
UserList.Add(user);
}
}
如果我将变量转换为如下所示的类变量但是它没有做我想做的事情,则下面的方法有效:
class A:
def function_A():
value = 5
class B:
def function_B(self):
print (A.value)
我猜这是不可能的,所以任何人都可以提供解决方法吗?
答案 0 :(得分:1)
变量value
是function_A
的本地变量,仅在该方法运行时才存在。当它不执行时,没有什么可以访问的,这将是function_B
执行时的情况。特别是,在您的第一个示例中,不属性A
或A
的任何实例。
从您的代码中不清楚您实际上打算如何处理这样的value
,因此很难提出进一步的建议。
答案 1 :(得分:-1)
A类没有属性value
,因为value
变量是在function_A
函数内定义的。因此,您不必访问value
作为类的属性,而是作为可以从类B
访问的普通变量,因为它在同一范围内。您必须在A.
value
示例:
class A:
def function_A():
value = 5
class B:
def function_B():
print (value)
var = B
var.function_B()
test = A
test.function_A()