摒弃Python私有成员的前缀表示
创始人
2024-12-18 12:02:10
0

在Python中,私有成员可以通过在其名称前加上一个下划线来表示。但是,这只是一种约定,Python并不会强制执行私有性。如果你不喜欢使用下划线作为私有成员的前缀表示,你可以使用其他约定来表示私有性,例如在名称前面添加一个双下划线。

下面是一个示例代码,展示了如何摒弃Python私有成员的前缀表示:

class MyClass:
    def __init__(self):
        self._private_member = 10
        self.__private_member = 20

    def _private_method(self):
        print("This is a private method.")

    def __private_method(self):
        print("This is another private method.")

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

obj = MyClass()
print(obj._private_member)  # 输出: 10
print(obj._MyClass__private_member)  # 输出: 20

obj.public_method()

在这个示例中,我们创建了一个名为MyClass的类。该类有两个私有成员变量:_private_member__private_member_private_member使用了常见的下划线前缀表示私有性,而__private_member使用了双下划线前缀。

我们还定义了两个私有方法:_private_method__private_method。同样地,_private_method使用了下划线前缀,而__private_method使用了双下划线前缀。

public_method方法中,我们可以看到如何访问这些私有成员和方法。我们可以直接通过实例对象访问_private_member,但是访问__private_member时需要使用_MyClass__private_member的形式。同样地,我们可以直接调用_private_method,但是调用__private_method时需要使用_MyClass__private_method的形式。

总结来说,虽然Python约定使用下划线作为私有成员的前缀表示,但你可以使用其他约定,例如双下划线前缀,来表示私有性。不过,请注意,这只是一种约定,Python并没有强制执行私有性。

相关内容

热门资讯

前端-session、jwt 目录:   (1)session (2&#x...
linux入门---制作进度条 了解缓冲区 我们首先来看看下面的操作: 我们首先创建了一个文件并在这个文件里面添加了...
关于测试,我发现了哪些新大陆 关于测试 平常也只是听说过一些关于测试的术语,但并没有使用过测试工具。偶然看到编程老师...
前缀和与对数器与二分法 1. 前缀和 假设有一个数组,我们想大量频繁的去访问L到R这个区间的和,...
nodejs:本地安装nvm实... 一、背景-使用不同版本node的原因 vue3+ts、nuxt3版本,node...
JAVA集合知识整理 Java集合知识整理 HashMap相关 HashMap的底层数据结构:jdk1.8之...
无刷直流电机介绍及单片机控制实... 无刷直流电机介绍及单片机控制实例前言基本概念优势与劣势使用寿命基本结构使用单片机控制实例电子调速器&...
fwdiary(2) dp2 1.传纸条  AcWing 275. 传纸条 - AcWing 走两条路,走一条最大的...
常用的DOS命令 常用的DOS命令 DOS(Disk Operating System,磁...
<C++> 类和对象(下) 1.const成员函数将const修饰的“成员函数”称之为const成员函数,cons...