问题:我需要一个 Python 中的特殊方法,该方法在创建对象后执行。
假设我有一个情况:
##-User Class;
class User:
__objList = [] ## User Class register of userObjs;
__init__(self, name):
self.name = name
##-and i create new UserObj;
user = User("John Doe")
创建对象用户后如何在 User.__objList[] 中添加此 UserObj ? Python中有没有在对象初始化后执行的方法? PS.在类自动创建 userObj 后,我需要将这个 usrObj 添加到 User.__objList 中。
只需将代码添加到
__init__
函数中,当您创建对象时,__init__
函数中的代码就会运行。
class User(object):
__objList = []
def __init__(self, name):
self.name = name
# append object to list after create object
self.__objList.append(self)
@classmethod
def showObjList(cls):
for obj in cls.__objList:
print("obj: (%s), name: (%s)" % (obj, obj.name))
a = User("Joy")
b = User("Hank")
User.showObjList()