Python中的访问修饰符2025年9月10日 | 阅读 7 分钟 访问修饰符被 C++、Java、Python 等遵循面向对象范例的各种编程语言使用。访问修饰符用于修改类成员变量和方法在类外部的访问权限。封装是 OOPs 的一个原则,它通过公共、受保护和私有等访问修饰符来保护类的内部数据。 在接下来的教程中,我们将学习访问修饰符及其类型。我们还将讨论如何在 Python 编程语言中使用它们。 访问修饰符的类型Python 提供三种级别的访问修饰符
![]() 让我们通过示例来讨论这些修饰符。 1. 公共访问修饰符公共访问修饰符的成员变量和方法在程序中的任何地方都可以访问。默认情况下,Python 类中的所有属性和方法都是公共的,除非被显式修改。 让我们看一个公共访问修饰符的示例如下 示例输出 Lion Den Lion lives in Den 说明 在上面的代码片段中,我们定义了一个名为 Animal 的类。Animal 类有两个成员变量 name 和 home,以及一个 display_data() 方法,该方法打印成员变量的值。这两个变量都是公共的,因为没有分配特定的关键字(或约定)给它们。然后我们将该类实例化为 wild_animal。然后我们打印了公共属性的值并调用了该方法来打印创建对象的详细信息。 公共访问修饰符的关键特性
2. 受保护的访问修饰符受保护访问修饰符的成员变量和方法只能在声明它的类及其子类内部访问。为了实现受保护的字段或方法,开发人员遵循特定的命名约定,通常是通过在变量或函数名称前添加前缀。 受保护的成员由单个下划线 (_variable) 指示。请注意,Python 解释器不像其他语言那样强制执行此限制;它仅为程序员指定,因为他们会尝试使用普通名称访问它,而不是通过相应的名称前缀调用。 让我们看一个受保护访问修饰符的示例如下。 示例输出 Lion Den Lion lives in Den 说明 在上面的代码片段中,我们定义了一个名为 Animal 的类。Animal 类有两个成员变量 _name 和 _home,以及一个受保护的方法 _display_data(),该方法打印成员变量的值。这两个变量都是受保护的,前面带有单个下划线 (_)。然后我们将该类实例化为 wild_animal。然后我们打印了受保护属性的值并调用了该方法来打印创建对象的详细信息。 注意:可以访问受保护的成员;但是,不建议这样做。受保护访问修饰符的关键特性
3. 私有访问修饰符私有访问修饰符的成员变量和方法只能在类内部访问。私有访问修饰符是最安全的访问修饰符。私有成员由变量或方法名称前的双下划线 (__) 指示。Python 会执行名称修饰,这意味着它会在内部更改变量的名称以防止意外访问。 让我们看一个私有访问修饰符的示例如下。 示例说明 在上面的代码片段中,我们定义了一个名为 Animal 的类。Animal 类有两个成员变量 __name 和 __home,以及一个私有方法 __display_data(),该方法打印成员变量的值。这两个变量都是受保护的,前面带有双下划线 (__)。然后我们将该类实例化为 wild_animal。然后我们尝试打印私有属性的值并调用了该方法来打印创建对象的详细信息。但是,这样做会引发错误。 使用名称修饰访问私有成员我们在 Python 中无法直接从类外部访问或修改私有属性。Python 执行的名称修饰使其困难,但并非不可能。强烈建议不要这样做,因为它会破坏封装。 在名称修饰中,我们可以将类的私有成员从 __name 重命名为 _ClassName__name。让我们看一个说明使用名称修饰来访问类私有成员的示例如下。 示例输出 Lion Den Lion lives in Den 说明 在上面的代码片段中,我们定义了一个名为 Animal 的类。Animal 类有两个成员变量 __name 和 __home,以及一个私有方法 __display_data(),该方法打印成员变量的值。这两个变量都是受保护的,前面带有双下划线 (__)。然后我们将该类实例化为 wild_animal。 然后我们使用了名称修饰,我们将私有属性从 __name 和 __home 分别重命名为 _Animal__name 和 _Animal__home,并为用户打印了它们的值。然后我们再次使用名称修饰调用该方法来打印创建对象的详细信息。在这种情况下,值被成功打印。 私有访问修饰符的关键特性
Python 中不同访问修饰符的比较现在我们将通过表格比较 Python 中的公共、受保护和私有访问修饰符。
结论在上面的教程中,我们学习了面向对象编程的基础知识。我们还讨论了 OOP 的不同原则。然后我们详细理解了封装的概念。我们了解到,作为 OOP 的一个基本原则,封装有助于保护数据并确保对类属性和方法的受控访问。Python 提供三种访问修饰符来实现程序中的封装。这些访问修饰符(公共、受保护和私有)允许程序员管理数据可见性和安全性。 Python 访问修饰符常见问题解答1. Python 中的访问修饰符是什么? 访问修饰符用于修改类成员变量和方法在类外部的访问权限。 2. Python 支持哪些访问修饰符? Python 提供三种级别的访问修饰符
3. Python 中的受保护成员是什么? 受保护成员由单个下划线 (_variable) 指示。Python 解释器不像其他语言那样强制执行此限制;它仅为程序员指定,因为他们会尝试使用普通名称访问它,而不是通过相应的名称前缀调用。 4. Python 中的私有成员是什么? 私有成员由双下划线 (__variable) 指示。它不能直接从类外部访问。 5. 私有变量可以在类外部访问吗? 是的,但只能通过名称修饰 (_ClassName__variable) 访问。这不被推荐,因为私有成员仅用于类内部使用。 下一主题Python 方法重载 |
我们请求您订阅我们的新闻通讯以获取最新更新。