【发布时间】:2020-05-15 18:50:13
【问题描述】:
我确实有一个“联系人”类,我可以从客户数据库中的一个联系人那里获取所有字段。属性键不是动态的;可以是硬编码的。 两个访问属性,我需要客户 getter 和 setter; getter 会格式化输出,例如日期格式、货币、...以及设置器,例如当您设置日期时间时,如果转换为数据库的 UNIX 时间戳。
另外,我需要这些属性可用于在我的 IDE 中自动完成,不喜欢手动编写属性名称,因为我通常会用拼写错误将它们搞砸。所以我认为它们要么需要是一个属性,要么是一个函数。
我找到的解决方案是很多行代码:
class Contact(Dict):
def __init__(self, values: Dict = {}):
self.values = values
get_email(self):
return self.values('email')
set_email(self, value):
self.values['email'] = value
get_create_date(self):
d = self.values.get('create_date', None)
if d:
return d.strftime('%Y-%m-%d')
else:
return None
set_create_date(self, value):
self.values['create_date'] = value
get_price(self):
p = self.values.get('price', None)
if d:
return "{:,}.-".format(p)
else:
return None
【问题讨论】:
标签: python properties