我是装饰师的新手,并且相信我在很大程度上了解他们的目的/他们的一般要点。不幸的是,我在使用此装饰器及其在类中的使用时遇到了一些问题。我正在尝试_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的中间阶段。
2 回答
jeck猫
TA贡献1909条经验 获得超7个赞
如果您不需要使用装饰器,那么您可以测量字典的长度:
def _populate_profile_dict(self):
_profile_dict['profile' + str(len(_profile_dict))] = self.json_obj
print(_profile_dict)
添加回答
举报
0/150
提交
取消