首页 > 解决方案 > 当我尝试使用 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)

标签: pythonpython-3.xpython-requests

解决方案


问题是您尚未定义fullname与设置器关联的属性fullname。将property装饰器添加到您的初始fullname方法定义中应该是诀窍:

@property
def fullname(self):
    return '{} {}'.format(self.first, self.last)

推荐阅读