我正在尝试使用mod = importlib.import_module(str)
中的Sample2.py
和
我调用的是PlayAround_Play.py
它只包含一个函数时工作正常。如果我将一个类包含在该函数中
工作不正常。错误为TypeError: this constructor takes no arguments
import importlib
def calling():
str="PlayAround_Play"
a=10
b=20
c=30
mod = importlib.import_module(str)
getattr(mod,str)(a, b, c)
calling()
PlayAround_Play.py class PlayAround_Play():
def PlayAround_Play(self, a, b, c):
d=a+b+c
print d
你们可以告诉我如何使用importlib
答案 0 :(得分:1)
你正在以错误的方式打电话给你的班级:
inst = getattr(mod, strs)() #creates an instance of the class
inst.PlayAround_Play(a, b, c) #call `PlayAround_Play` method on the instance.
<强>输出:强>
60
要使代码正常工作,请在班级中定义__init__
:
class PlayAround_Play():
def __init__(self, a, b, c):
d = a+b+c
print d
现在:
getattr(mod, strs)(a, b, c)
#prints 60
读: