第十一讲
一、私有属性及私有方法
所谓私有属性及私有方法,可以简单理解为不想让其他人看到的一些属性和方法,例如:
class Students(object):
def __init__(self):
self.age = 18
self.weight = 120
Amy = Students()
print(Amy.weight)
Amy老脸一红,这体重的属性咋还能被人从外部调出来……尴尬
于是就把它变成私有属性好了,不让别人看见……这么改下
class Students(object):
def __init__(self):
self.age = 18
self.__weight = 120
Amy = Students()
print(Amy.weight)
在weight
前面加俩杠,再次打印输出就报错了,说找不到该项属性,好使!
但是有时候Amy也要自己看一下自己的体重数据呀,这从外部调不出来咋整,那就设置方法,从外部调用内部方法查看!
我们可以在类里面加一个方法:
class Students(object):
def __init__(self):
self.age = 18
self.__weight = 120
def find_weight(self):
print(self.__weight)
Amy = Students()
Amy.find_weight()
这样就可以查看私有属性了!那如果要修改私有属性呢,可以这么写:
class Students(object):
def __init__(self):
self.age = 18
self.__weight = 120
def find_weight(self):
print(self.__weight)
def change_weight(self,new):
self.__weight = new
Amy = Students()
Amy.change_weight(140)
Amy.find_weight()
这里插一个知识点,.__dir__()
内置方法可以查看类里面的方法名和属性名。
属性既然有私有的,方法也有私有的,有些方法不想公开,同样的,在方法前面加两个杠就可以了,比如:
class Demo(object):
def __init__(self):
pass
def test1