我正在优化现有的代码库,我将大量使用旧的类和方法,并创建新的模块。
现有结构如下(还有更多类,如FooBar
,还有一些子模块和file.py
s)
existing/file.py
import foo
from bar import baz
Variables declaration
Some format declaration
logger declaration
Class FooBar(object):
def some_method(self):
pass
我目前正在考虑在下面做这件事,看起来不是正确的做法,尽管它有效。
new/file.py
from exisiting.file import *
Class FooBar(FooBar):
def some_method2(self):
pass
这样做的pythonic方法是什么?
我想到的另一个选择是用其他名称分别导入每个类,但是我看到它的方式,import *
已经涵盖了这个。
PS:这是一个如何工作的演示</ p>
class Foo():
def bar(self):
print "class Foo(), method bar()"
class Foo(Foo):
def barbar(self):
print "class Foo(Foo), method barbar()"
variable = Foo()
variable.bar()
"class Foo(), method bar()"
variable.barbar()
"class Foo(Foo), method barbar()"
答案 0 :(得分:2)
我不确定您在这里寻找什么,但您可以通过以下方式导入每个课程:
from existing.file import Foo as oldFoo
然后,您可以创建一个名为Foo的新类,它扩展了oldFoo