理解Python类的私有属性和方法

原创 桃扇骨 2024-12-29 07:39 43阅读 0赞

在Python中,类的属性分为三种类型:公共(public)、保护(protected)和私有(private)。

  1. 公共属性:无修饰的属性名。所有实例都可以访问到这类属性。
  1. class Person:
  2. name = 'John' # 公共属性
  3. person1 = Person()
  4. person2 = Person()
  5. print(person1.name) # 输出 John
  6. print(person2.name) # 输出 John
  1. 保护属性:以__开头的属性名。类的所有实例(包括子类)都可以访问这类属性,但不能直接通过对象调用方法。
  1. class Person:
  2. __age = 0 # 保护属性
  3. def __init__(self, name):
  4. self.name = name
  5. def get_age(self):
  6. return self.__age # 可以返回,但不能直接调用
  7. person1 = Person('Alice')
  8. person2 = Person('Bob')
  9. print(person1.get_age()) # 输出 0
  10. print(person2.get_age()) # 输出 0
  1. 私有属性:以双下划线__开头的属性名。这类属性只能在类的内部(包括方法)访问,外部无法直接访问。
  1. class Person:
  2. __password = 'secret' # 私有属性
  3. def __init__(self, name):
  4. self.name = name
  5. def login(self, password):
  6. if password == self.__password: # 可以返回私有属性
  7. return True
  8. else:
  9. return False
  10. person1 = Person('Alice')
  11. print(person1.login('wrong password'))) # 输出 False,但不能直接调用

总结一下,类的私有属性和方法只能在类内部访问,外部无法通过对象直接操作。

文章版权声明:注明蒲公英云原创文章,转载或复制请以超链接形式并注明出处。

发表评论

表情:
评论列表 (有 0 条评论,43人围观)

还没有评论,来说两句吧...

相关阅读