2020年1月13日 MRKJ 访问权限 page192

_foo :保护类型的成员,只允许类本身和子类允许访问

__foo :私有类型,只有类本身可以访问,类的实例名._类名__方法

__foo__  :系统定义的名字,表示特殊的方法

 

property

@property
def func(self):
block #需要return语句返回

例子:
class Rect:
    def __init__(self,w,h):
        self.w=w
        self.h=h

    @property
    def area(self):
        return self.w * self.h

r1=Rect(10,11)
print(r1.area)

 

class TVshow:
    list_film=['zl2','hhxd','xyj','xcm']
    def __init__(self,sxs):
        self.__show=sxs

    @property
    def show(self):
        return self.__show

    @show.setter #设置setter方法,让属性可修改
    def show(self,value):
        if value in self.list_film:
            self.__show=value+'ing'
        else:
            self.__show='sorry'

t=TVshow('zl2')
print(t.show)
t.show='hhxd'
print(t.show)

zl2
hhxding

posted @ 2020-01-13 21:19  小圣庄  阅读(112)  评论(0编辑  收藏  举报