python import函数和类_Python:使用import将公共函数添加到类中

我有一个现有的python(pythonv2.7)应用程序,它可以动态导入外部py文件,其中包含专门命名的类来处理数据。加载的外部py文件是根据所需数据的后处理类型选择的。在

所以我有这些类的集合,每个类都在各自的文件中。文件根据处理类型以特定的方式命名,这样主程序就知道从上游请求导入什么文件。在

请记住,我和其他人总是在调整这些类文件,但我们不能更改主应用程序上的代码。在

我想做的是将通用函数的“模板”导入到类作用域中,这样可以提供主程序所需的标准控件集,而无需将它们复制/粘贴到每个文件中。我讨厌当我发现一个错误并在其中一个主类I/o函数中进行更正,然后我不得不在其他30多个文件中复制这个函数。在

现在,我从谷歌上了解到,我在这里的进口不好。。。我得到的信息是:TestClassFile.py:5: SyntaxWarning: import * only allowed at module level

但是这个方法是我发现的导入函数以便它们进入类本身的名称空间的唯一方法。我下面有一个例子。。。在

在Python中,什么方法(如果有的话)是正确的方法?在

示例

在主.py在

^{pr2}$

在测试类文件.py在class TestClass:

from TestClassImport import *

def __init__(self, str):

print "INIT! and be ... ", str

def funcA(self):

print "Function A"

在测试分类导入.py在def funcB(self):

print "Function B"

非常感谢!在

更新

非常感谢大家的贡献。通过对mixin的研究,这些似乎是扩展类的适当python方法。在

在测试分类导入.py在class ImportClass:

def funcB(self):

print "Function B"

在测试类文件.py在from TestClassImport import ImportClass

class TestClass(ImportClass):

def __init__(self, str):

print "INIT! and be ... ", str

def funcA(self):

print "Function A"

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值