如何使这些计数器装饰器对我的类方法起作用

我是装饰师的新手,并且相信我在很大程度上了解他们的目的/他们的一般要点。不幸的是,我在使用此装饰器及其在类中的使用时遇到了一些问题。我正在尝试_profile_dict = {}使用创建的新密钥填充字典profile + str(<counter value>)。我宁愿不实例化该类并将其设置为我if __name__ == '__main'语句中的变量,因此我尝试使用该create_profiles函数执行该类。这是我的代码,


_profile_dict = {}



class Profile:

    def __init__(self):

        self.first_name = input('first name: ')

        self.last_name = input('last name: ')

        self.email = input('email: ')

        self.address1 = input('primary address: ')

        self.address2 = input('secondary address: ')

        self.city = input('city: ')

        self.country = input('country: ')

        self.province = input('province: ')

        self.zip = input('zip: ')

        self.phone = input('phone number:')

        self.cc_name = input('Name on credit card: ')

        self.cc_num = input('Credit card number: ')

        self.exp_month = input('card expiration month: ')

        self.exp_year = input('card expiration year: ')

        self.cvv = input('cvv: ')

尽管从我这里读过的内容来看,类中的Python装饰器,但我认为这是不可能的。是否有可能完全通过@classmethod完成我要达到的目标?

任何帮助,将不胜感激。感谢您的时间。我觉得装饰器以及我日程安排中的其他一些事项肯定会帮助我进入python的中间阶段。


动漫人物
浏览 158回答 2
2回答

jeck猫

如果您不需要使用装饰器,那么您可以测量字典的长度:def _populate_profile_dict(self):&nbsp; &nbsp; &nbsp; &nbsp; _profile_dict['profile' + str(len(_profile_dict))] = self.json_obj&nbsp; &nbsp; &nbsp; &nbsp; print(_profile_dict)
打开App,查看更多内容
随时随地看视频慕课网APP

相关分类

Python