创建动态定义属性的Python类
对不起,如果以前有人问过这个问题。在类的创建动态定义属性的Python类,python,metaprogramming,Python,Metaprogramming,对不起,如果以前有人问过这个问题。在类的\uuuu init\uuuu方法中未定义属性的情况下,是否可以在Python中动态创建类 比如这个类 class Person(object): def __init__(self): ... 我可以在初始化过程中动态地放入属性,如下所示: person.name >>> Joe person=person(name='Joe') 然后像这样访问它: person.name >>> Joe 谢谢最简单
\uuuu init\uuuu
方法中未定义属性的情况下,是否可以在Python中动态创建类
比如这个类
class Person(object):
def __init__(self):
...
我可以在初始化过程中动态地放入属性,如下所示:
person.name
>>> Joe
person=person(name='Joe')
然后像这样访问它:
person.name
>>> Joe
谢谢最简单的方法是将关键字参数dict指定给类的
\uuu dict\uuu
属性:
class Person(object):
def __init__(self, **kw):
self.__dict__ = kw
person = Person(name='Joe')
print person.name
印刷品
Joe
要在对象创建后添加属性,请使用
def add_attributes(self, **kw):
self.__dict__.update(kw)
您还可以在构造函数中使用
.update()
。这可以通过使用()实现。这还允许您在创建对象后添加属性