# -*- coding:utf-8 -*-
# Author: Evan Mi
class Dog(object):
def __init__(self, name):
self.__first_name = name
self.__last_name = 'W'
def get_first_name(self):
return self.__first_name
def get_last_name(self):
return self.__last_name
@property
def name(self):
pass
@name.setter
def name(self, name): # 有了setter以後,使用d.name = xx的時候就調用了setter方法
name_lst = name.split("||")
self.__first_name = name_lst[0]
self.__last_name = name_lst[1]
@name.getter
def name(self): # 寫了getter以後,使用x = d.name的時候就是調用getter方法,而不是直接調用property方法
print("from the getter method")
return self.__first_name + '||' + self.__last_name
@name.deleter
def name(self): # 在調用del 的時候調用這個方法了
print("from the deleter method")
def eat(self, food):
print('%s is eating %s' % (self.name, food))
d = Dog('sss')
d.name = 'sss||s'
print(d.name)
del d.name
print(d.name)