让我说我有这样的事情: 这是文件tree.py:
class leaf():
def green():
x = 100
这是文件view.py:
from tree import leaf.green
g = green()
print g.x
如何获取变量形式的子类green
我在课堂上知道它只是:
这是文件tree.py:
class leaf():
x = 100
这是文件view.py:
from tree import leaf
class view():
g = leaf()
print g.x
如果两个类都在同一个文件中,我理解如何做到这一点。但我不明白两个seprate文件。 谢谢, 约翰
答案 0 :(得分:2)
我认为问题的根源在于您需要了解有关Python中的类如何工作的更多信息。幸运的是,Python docs has a section on classes中的教程。
如果这没有用,那么通过像Learn Python the Hard Way这样的练习并进行练习会非常有帮助。
答案 1 :(得分:1)
x
是该方法的本地方法,即它不应该(并且不能,至少不容易)从外部访问。更糟糕的是 - 它只在方法运行时存在(并在返回后被删除)。
请注意,可以为方法指定属性(实际上是任何函数):
class Leaf(object):
def green(self):
...
green.x = 100
print Leaf.green.x
但这可能不是你想要的(对于初学者来说,你不能将它作为方法中的局部变量访问 - 因为它不是一个)并且实际上很少有用(除非你有一个非常好的理由不去,只是使用一个班级。)