Python 了解如何从方法导入变量
假设我有这样的东西: 这是tree.py文件:Python 了解如何从方法导入变量,python,variables,Python,Variables,假设我有这样的东西: 这是tree.py文件: class leaf(): def green(): x = 100 class leaf(): x = 100 这是文件view.py: from tree import leaf.green g = green() print g.x from tree import leaf class view(): g = leaf() print g.x 如何获取变量形式的子类green 我知道在课堂上它只是: 这是t
class leaf():
def green():
x = 100
class leaf():
x = 100
这是文件view.py:
from tree import leaf.green
g = green()
print g.x
from tree import leaf
class view():
g = leaf()
print g.x
如何获取变量形式的子类green
我知道在课堂上它只是:
这是tree.py文件:
class leaf():
def green():
x = 100
class leaf():
x = 100
这是文件view.py:
from tree import leaf.green
g = green()
print g.x
from tree import leaf
class view():
g = leaf()
print g.x
如果两个类都在同一个文件中,我理解如何执行该操作。但我不明白在两个单独的文件。
谢谢
John我认为问题的根源在于您需要更多地了解Python中的类是如何工作的。幸运的是,Python文档中提供了教程
如果这样做没有帮助,那么进行类似的练习会非常有帮助。我认为问题的根源在于,您需要了解更多关于Python中类如何工作的知识。幸运的是,Python文档中提供了教程
如果这样做没有帮助,那么进行类似的练习会非常有帮助。
x
是该方法的局部特性,即不应该(而且至少不容易)从外部访问它。更糟糕的是,它只在方法运行时存在(并且在返回后被删除)
请注意,您可以将属性分配给方法(实际上是分配给任何函数):
但这可能不是您想要的(对于初学者来说,您不能在方法中作为局部变量访问它-因为它不是一个),事实上很少有用(除非您有很好的理由不使用类)。
x
是方法的局部变量,即它不应该(也不能,至少不容易)可以从外部访问。更糟糕的是,它只在方法运行时存在(并且在返回后被删除)
请注意,您可以将属性分配给方法(实际上是分配给任何函数):
但这可能不是您想要的(对于初学者来说,您不能在方法中作为局部变量访问它-因为它不是局部变量),事实上很少有用(除非您有很好的理由不这样做,只使用一个类).我认为你不了解如何在Python中使用类。术语混淆:一个
类
C的子类是一个继承自C的类
。一个类
中的定义
是一个方法。我认为你不了解如何在Python中使用类。术语混淆:一个类
C的子类是一个方法class
继承自C.Adef
在class
中是一个方法。我已经看完了那个文档。我仍然很困惑。@John我添加了另一个链接,您可能会觉得有帮助。你以前有过面向对象编程的经验吗。使用Java似乎容易得多。好吧,那我来看看那张PDF。Thanks@John我想说,这并不容易,只是有点不同。在Python中,所有实例方法(Java术语中是非静态的)都必须将self
作为其第一个参数(即实例),实例变量在类中被称为self.var
@John您可以使用从其他模块导入SomeClass
。你不能导入方法,因为你应该在类之外写一个函数。我已经看过那个文档了。我仍然很困惑。@John我添加了另一个链接,您可能会觉得有帮助。你以前有过面向对象编程的经验吗。使用Java似乎容易得多。好吧,那我来看看那张PDF。Thanks@John我想说,这并不容易,只是有点不同。在Python中,所有实例方法(Java术语中是非静态的)都必须将self
作为其第一个参数(即实例),实例变量在类中被称为self.var
@John您可以使用从其他模块导入SomeClass
。您不能导入方法,因为您应该只在类之外编写函数。您的错误。感谢您知道您无法访问变量并更改了所有内容。我想知道我想怎么做,你说对了。感谢您知道您无法访问变量并更改了所有内容。我想知道我想怎么做