Python中的私有属性的定义

版权声明: https://blog.csdn.net/qq_37457432/article/details/87939639

在Java中用private对变量或者方法进行限定,则方法仅在整个类内部可见,外部不可见、不可访问。

在python中也有私有属性定义,使用函数名前缀的两个下划线进行定义。

例如 __parameter

接下来看上一个Dog的例子

class Dog(object):
    __slots__ = ('__name', 'kind', 'level')
    def __init__(self,name,kind,level):#构造函数,定义属性和初始方法
        self.__name=name
        self.kind=kind
        self.level=level#赋值
        print(f"This is a {self.kind} dog called {self.__name} with level {self.level}")

    def run(self):#定义类中的方法
        print(f"{self.__name} is now running!")

    def roll_over(self):
        print(f"{self.__name} is now rolling over!")

    def change_level(self):
        self.level+=1#修改类中属性的值
        print(f"The level of {self.__name} is now {self.level}")

在另一个文件里面进行调用

from Zoo.Dog import Dog#导包

dog=Dog("Halo","Husty",3)#实例化

dog.run()
dog.roll_over()
dog.change_level()#调用方法

发现当我们输入以下内容时,会报错,非法访问。

print(dog.__name)

在本例中,__name是对name进行私有限定。

猜你喜欢

转载自blog.csdn.net/qq_37457432/article/details/87939639