我有一个git repo,它具有一个python模块,该模块定义了几个类,其中一些是私有的。我将git repo用作其他地方的git子模块,并希望添加一个具有相同名称和更多类的新python模块。
这个想法是这样的:
repo1 / module.py:
class _foo:
def __init__(self, _arguments_):
#dostuff
class bar(_foo):
def __init__(self, _arguments_):
#dostuff
repo2 / module.py:
class baz(_foo):
def __init__(self, _arguments_):
#dostuff
我所坚持的是如何正确处理repo2 / module.py中的导入,以便我可以将_foo用作baz的超级,但也可以导入repo2 / module来提供对bar的访问。
如果我使用以下命令启动repo2 / module.py:
from repo1.module import *
我没有提供_foo作为超级目录,但是当repo2 / module.py导入其他地方时,我确实提供了bar。另一方面,我可以做:
from repo1 import module as mod
然后我可以将mod._foo用作超级,但我没有其他地方可以使用的吧。
是否有办法做与from module import *
还包括私人成员,或者我应该做类似的事情>>
from module import * from module import _foo
或者还有更好/更好/更安全/更清洁的东西吗?如果有所作为,我不喜欢
from module import *
,并且希望尽可能避免使用它。
我有一个git repo,它具有一个python模块,该模块定义了几个类,其中一些是私有的。我在其他地方使用该git repo作为git子模块,并想添加一个具有相同......>
避免使用通配符导入。改用显式导入。
from module import bar, _foo