前言
一般在描述一个实物的时候,都会有set,get,del这三个方法,于是我们就会有下面的代码:
"""描述颜色的类"""
class OldColor(object):
def __init__(self):
# 颜色列表
self.color_list = []
def set_color(self, name):
"""增加颜色
用来给颜色列表添加元素
"""
pass
def get_color(self):
"""得到颜色
用来获取颜色列表
"""
pass
def del_color(self):
"""删除颜色
用来清空颜色列表
"""
pass
这样写呢,没啥毛病,但是现在有更便捷的方法供你选用了
property
# -*- coding: utf-8 -*-
class NewColor(object):
def __init__(self):
# 颜色列表
self.color_list=[]
@property
def colors(self):
"""返回颜色列表
返回self.color_list
"""
return self.color_list
@colors.setter
def colors(self, name):
"""添加颜色
添加颜色到color_list
"""
self.color_list.append(name)
@colors.deleter
def colors(self):
"""清空颜色
清空颜色列表;
此处也可以是 del self.color_list,如果这样的话,就不能继续添加颜色了
"""
self.color_list = []
if __name__ == "__main__":
color_obj = NewColor()
print("现在的颜色是: ", color_obj.colors)
color_obj.colors = "green"
color_obj.colors = "red"
print("现在的颜色是: ", color_obj.colors)
del color_obj.colors
print("现在的颜色是: ", color_obj.colors)
deleter用于描述删除对象实例,所以该方法不能添加参数
运行结果:
现在的颜色是: []
现在的颜色是: ['green', 'red']
现在的颜色是: []
先写到这里了,如果有问题请加入qq群630300475,大家一起聊一下