【发布时间】:2018-03-22 16:44:24
【问题描述】:
我知道类似的问题已被多次询问/回答。但请继续阅读..
我正在尝试从 Python 3.6 中的“Convert string to Python Class Object”中描述的字符串值创建一个类。
utils.py
class Foo(object):
def __init__(self):
print("In the constructor of Foo")
def What(self):
print("so what ... ")
class FooParam(object):
def __init__(self, v):
self.value = v
print("In the constructor of FooParam")
def What(self):
print("Value=" % self.value)
print("So what now ...")
welcome.py
def TEST1():
m = importlib.import_module("utils")
c = getattr(m, "Foo")
c.What()
if __name__ == '__main__':
TEST1()
错误
TypeError: What() missing 1 required positional argument: 'self'
那么我做错了什么?
另外,如何创建“FooParam”对象并将值传递给构造函数。
【问题讨论】:
-
“我怎样才能创建一个“FooParam”的对象并将一个值传递给构造函数。” -> 你用一个参数调用它的构造函数。
FooParam = getattr(m, "FooParam"); obj = FooParam(whatever).