私有化

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__)
上一篇下一篇

猜你喜欢

热点阅读