我可以包含保存在另一个文件中的类方法的Python实现

时间:2017-06-09 08:48:24

标签: python class methods conventions

在Python中,我们不能在类定义本身之外保存类方法的定义(据我所知),因为没有声明的概念。但是,我想知道是否可以包含保存在独立文件中的方法实现的源代码,即让解释器替换有问题的代码段。但是,由于我从未见过这样的事情,这可能不是Python中的惯用语。那么你如何处理类定义将会非常长的烦恼呢?请更正我,因为我是Python的新手,并且发现它与C ++完全不同。

console.log(control.validator)

2 个答案:

答案 0 :(得分:1)

import another_file

class Foo
   def bar():
      another_file.class_name/def_name ...

或仅导入特定定义

from another_file import def_name

class Foo
   def bar():
      def_name ...

答案 1 :(得分:1)

可以!

第一种解决方案

bar.py

def bar(foo):
    print foo

foo.py

from bar import bar as foo_bar

class Foo:
    bar = foo_bar

替代解决方案

bar.py

def bar(foo):
    print foo

foo.py

from bar import bar as foo_bar

class Foo:
    def bar(self, *args, **kwargs):
        return foo_bar(self, *args, **kwargs)