01.14 - 函数私有化

2019-01-14  本文已影响0人  xxxQinli

1. 访问权限

2. python的私有化

3. python私有化的原理

在名字前是_的属性和方法前再加'类名'去保存属性和方法,相当于做一个假的私有化,把属性名改了,因为名字改了,这样就没法直接调用两个下划线

"""
class Ql_Person:  # 
    """ 
    类说明文档:
    """
    num = 61
    __num2 = 62

    def __init__(self, name = '张三', age = 0):
        """
        函数说明文档:
        """
        self.name = name
        self.age = age
        self.__sex = '男'
        

    def ql_Eat(self, food):  #
        """
        函数说明文档:
        """
        print(food, self.__sex)
        self.__ql_Run()
    
    @classmethod
    def ql_Show_Num(cls):  #
        """
        函数说明文档:
        """
        print('人类的数量%d' % cls.__num2) #在内部可以用
    
    @staticmethod
    def ql_Func1():  #
        """
        函数说明文档:
        """
        print('人类要保护大自然!')
    
    def __ql_Run(self):  #
        """
        函数说明文档:
        """
        print('快跑')
 




def main():
    p1 = Ql_Person()
    print(p1.num)
    ##print(Ql_Person.__num2) 在外面不能用
    print(p1.ql_Eat('面条'))
    print(Ql_Person.ql_Show_Num())
    print(p1.ql_Func1())    
    print(p1.__dict__) # 私有属性可以用过_类__属性来获取,所以python没有真正的私有化,只是把名字改一下,在前面添加了下划线加类名,



if __name__ == '__main__':
    main()
上一篇 下一篇

猜你喜欢

热点阅读