python - 当我尝试使用 setter 时出现错误。错误消息是 AttributeError: 'function' object has no attribute 'setter'
问题描述
类员工:
raise_amt = 1.04
def __init__(self, first, last, pay):
self.first = first
self.last = last
self.pay = pay
def fullname(self):
return '{} {}'.format(self.first, self.last)
@property
def email(self):
return '{}.{}@email.com'.format(self.first, self.last)
@fullname.setter
def fullname(self,name):
first,last=name.split(" ")
self.first=first
self.last=last
emp_1=Employee("Joey","Lang",10000) emp_1.fullname="Aditya Kumar" print(emp_1.first)
解决方案
问题是您尚未定义fullname
与设置器关联的属性fullname
。将property
装饰器添加到您的初始fullname
方法定义中应该是诀窍:
@property
def fullname(self):
return '{} {}'.format(self.first, self.last)
推荐阅读
- php - 基于 Woocommerce 中商品数量的渐进式统一运费方式
- batch-file - 批处理文件循环不包括嵌套循环
- django - 在Django的add_form中显示外键的属性
- javascript - React Native 向抽屉组件添加注销按钮,调度操作与 redux 集成
- tensorflow - Tensorboard 投影仪将无休止地计算 PCA
- ruby - Chef API REST 已弃用
- xml - 无法在 curl 命令中正确使用变量
- python-3.x - 散景教程练习中的空图
- asp.net-mvc - .NET Core Entity Framework 在作为实体访问时抛出无效的对象名称,但适用于 SQL
- google-app-engine - App 引擎使用中的 IP 地址达到配额过快