写点什么

Python 中的封装与访问控制权限

  • 2024-05-15
    北京
  • 本文字数:612 字

    阅读完需:约 2 分钟

更多软件测试学习资料戳

封装与访问控制权限

封装是面向对象编程中的一个重要概念,它指的是将数据和操作数据的方法封装在一个类中,同时对外隐藏实现细节,只提供接口供外部调用。在 Python 中,我们通过访问控制权限来实现封装。

访问控制权限

Python 中有三种访问控制权限:公有属性、保护属性和私有属性。

公有属性

公有属性是指类中以正常方式定义的属性,可以被类的外部访问。

class MyClass:    def __init__(self, x):        self.x = x
obj = MyClass(10)print(obj.x) # 输出: 10
复制代码

保护属性

保护属性是指以一个下划线 _ 开头的属性,表示这个属性在类的外部是可以访问的,但是约定俗成不要直接访问,应该视为受保护的属性。

class MyClass:    def __init__(self, x):        self._x = x
obj = MyClass(10)print(obj._x) # 输出: 10
复制代码

私有属性

私有属性是指以两个下划线 __ 开头的属性,表示这个属性在类的外部是无法直接访问的,只能在类的内部访问。

class MyClass:    def __init__(self, x):        self.__x = x
obj = MyClass(10)# print(obj.__x) # 报错:AttributeError: 'MyClass' object has no attribute '__x'
复制代码

_和__前缀

在 Python 中,一个下划线 _ 作为前缀表示一个保护属性,而两个下划线 __ 作为前缀表示一个私有属性。这只是一种约定,实际上 Python 并没有严格的访问控制权限。

通过理解访问控制权限,我们可以更好地设计和使用类,实现封装和数据隐藏,提高代码的可维护性和安全性。


用户头像

社区:ceshiren.com 微信:ceshiren2023 2022-08-29 加入

微信公众号:霍格沃兹测试开发 提供性能测试、自动化测试、测试开发等资料、实事更新一线互联网大厂测试岗位内推需求,共享测试行业动态及资讯,更可零距离接触众多业内大佬

评论

发布
暂无评论
Python中的封装与访问控制权限_测试_测吧(北京)科技有限公司_InfoQ写作社区