1. 程式人生 > >裝飾器@property與@xxx.setter

裝飾器@property與@xxx.setter

core int pro self. 簡化 sel ret 普通 屬性

class Student():
  def __init__(self,name,score):
  self.__name = name
  self.__score = score
  @property
  def name(self):
    return self.__name
  @name.setter
  def name(self,name):
    self.__name = name

s1 = Student(‘zhang‘,25)
print(s1.name) #s1.name就相當於執行了s1.get_name()
s1.name = ‘wang‘ #s1.name = ‘wang‘就相當於執行了s1.set_name(‘wang‘)


print(s1.name)

這兩個裝飾器的意義在於,簡化操作,能夠像操作普通屬性一樣操作一些方法,方法內容正常些,方法名就定義為屬性名,在方法前加裝飾器@property就把這個方法變成了讀取值方法(get),在方法前加裝飾器"@屬性名.setter"就將其定義為了賦值方法(set)

裝飾器@property與@xxx.setter