创建新类,为具有相同名称的现有类创建子类

时间:2014-08-12 13:48:48

标签: python

我正在优化现有的代码库,我将大量使用旧的类和方法,并创建新的模块。

现有结构如下(还有更多类,如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()"

1 个答案:

答案 0 :(得分:2)

我不确定您在这里寻找什么,但您可以通过以下方式导入每个课程:

from existing.file import Foo as oldFoo

然后,您可以创建一个名为Foo的新类,它扩展了oldFoo