创建对象后的Python方法(已解决)

问题描述 投票:0回答:1

问题:我需要一个 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 中。

python oop
1个回答
3
投票

只需将代码添加到

__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()

picture show result

© www.soinside.com 2019 - 2024. All rights reserved.