假设我要创建一个名为的类Foo
。我可以这样创建一个文件:
foo.py:
class Foo:
def __init__(self):
self.data = "world"
def print(self):
print("Hello, " + self.data)
要在我的主脚本中使用此类:
main.py
import foo
test = foo.Foo()
test.print()
foo.Foo()
每次实例化该类时都必须键入,这已经足够荒谬了,但是当我想通过将类分成一个包来组织代码时,情况变得更糟:
classes / __ init__.py
# Empty
类/foo.py
# Copy of foo.py, above
main.py
import classes.foo
test = classes.foo.Foo()
test.print()
我知道我可以这样使用清理一些from X import Y
:
from classes.foo import Foo
test = Foo()
由于该文件仅foo.py
包含一个名称与该文件相匹配的成员,因此,如果可以执行以下操作,则最好使用:
from classes import Foo
# Or:
import classes.Foo as Foo
test = Foo()
有没有办法做到这一点?也许在我的一些代码__init__.py
?
在中classes/__init__.py
,放入:
from .foo import Foo
现在您可以写了from classes import Foo
。
本文收集自互联网,转载请注明来源。
如有侵权,请联系[email protected] 删除。
我来说两句