Python 是否将模块中的所有函数添加为对象的方法,而不复制代码?
如何将某些模块中的所有函数添加为指定对象的方法 如果您有modulePython 是否将模块中的所有函数添加为对象的方法,而不复制代码?,python,Python,如何将某些模块中的所有函数添加为指定对象的方法 如果您有modulemodulename,则可以使用 from modulename import * 我想将它们添加为一些obj的方法,因为它们都接受该对象作为第一个参数,并且我发现x.y(z)比y(x,z)更有趣,因为习惯。试试这个: def add_methods(driver): for name, obj in inspect.getmembers(sys.modules[__name__]): if inspect.isf
modulename
,则可以使用
from modulename import *
我想将它们添加为一些obj
的方法,因为它们都接受该对象作为第一个参数,并且我发现x.y(z)
比y(x,z)
更有趣,因为习惯。试试这个:
def add_methods(driver):
for name, obj in inspect.getmembers(sys.modules[__name__]):
if inspect.isfunction(obj) and name != 'add_methods':
setattr(driver, name, obj.__get__(driver))
from inspect import getmembers, isfunction
import modulename
class Obj(object):
...
obj_ = Obj()
for name, func in getmembers(modulename, isfunction):
setattr(obj_, name, func)
print(obj_.__dict__)