首页常见问题正文

什么是私有属性和私有方法?

更新时间:2024-04-12 来源:黑马程序员 浏览量:

IT培训班

  在Python中,私有属性和私有方法是指在类内部定义的属性和方法,它们只能在类的内部被访问和调用,而无法在类的外部直接访问或调用。私有属性和方法的命名约定是在其名称前面加上双下划线"__"。

  私有属性和方法的存在意义在于隐藏类的内部实现细节,从而提高了类的封装性,防止外部代码直接修改类的内部状态或调用类的内部实现细节,从而避免了不必要的外部依赖和耦合。

  接下来我们看一个具体的示例:

class MyClass:
    def __init__(self):
        self.__private_attribute = 42
    
    def __private_method(self):
        print("This is a private method")

    def public_method(self):
        print("This is a public method")
        self.__private_method()

# 创建一个类实例
obj = MyClass()

# 无法直接访问私有属性
# print(obj.__private_attribute)  # 这行代码会导致 AttributeError

# 无法直接调用私有方法
# obj.__private_method()  # 这行代码会导致 AttributeError

# 但是可以通过公有方法间接访问私有属性和方法
obj.public_method()

  在这个例子中,__private_attribute和__private_method是私有属性和私有方法,它们只能在MyClass类的内部被访问和调用。

分享到:
在线咨询 我要报名
和我们在线交谈!