私有化
2019-02-12 本文已影响0人
匿隱
1.属性和方法的访问权限
私有的:在类的外部不可以使用,也不可以继承
保护的:在类的外部不可以使用,可以继承
公开的:在类的外部可以使用,也可以被继承
2.python的私有化
python中属性和方法的访问权限只有公开,但是提供了另一种私有化的方式。
python中在属性或者方法名前加____,就可以将属性或者方法变成私有的(注意:只能两____开头,不能____结尾)
私有的属性和方法只能在类的内部使用,不能在类的外面使用
3.python私有化的原理
在名字前是_的属性和方法前再加'类名'去保存属性和方法
class Person:
num = 61
__num2 = 62
def __init__(self, name='张三', age=0):
self.name = name
self.age = age
self.__sex = '男'
def eat(self, food):
print(self.__sex)
print(self.name, food)
self.__run()
def __run(self):
print('%s在跑步' % self.name)
@classmethod
def show_num(cls):
print('人类的数量:%d, %d' % (cls.num, cls.__num2))
@staticmethod
def func1():
print('人类要保护大自然!')
def main():
p1 = Person()
print(Person.num)
# print(Person.__num2)
print(p1.name)
# print(p1.__sex)
print(p1._Person__sex)
p1.eat('面条')
# p1.run()
Person.show_num()
Person.func1()
print(p1.__dict__)