python 实现类熟悉的不可修改保护 ,指定部分范围可以修改
# 只能被读取,不可被更改的属性
# 指定范围内的可以更改 setter
class TVShow:
list_film = ["喜洋洋",'熊出没','大头儿子','猫和老鼠']
def __init__(self,show):
self.__show = show
@property
def show(self):
return self.__show
@show.setter
def show(self,value):
if value in TVShow.list_film: #判断值是否在列表中
self.__show = "你选择了"+value+"稍后播放" # 修改返回的值
else:
self.__show = "你点播的电影不存在"
tvshow = TVShow("喜洋洋") # 创建实例
print("正在播放-->",tvshow.show) # 获取属性值
print("你可以从",tvshow.list_film,"中选择点播电影") # 获取属性值
tvshow.show = "熊出没"
print(tvshow.show)