摒弃Python私有成员的前缀表示
创始人
2024-12-18 12:01:02
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并没有强制执行私有性。

相关内容

热门资讯

五分钟分享!天天爱柳州麻将有挂... 五分钟分享!天天爱柳州麻将有挂吗(透视)好像真的有挂(2023已更新)(微博客户端);1、金币登录送...
一分钟辅助挂!微友麻将神器通用... 一分钟辅助挂!微友麻将神器通用版(辅助挂)详细辅助机制教程(2020已更新)(百度)1、金币登录送、...
两分钟总结!宝宝浙江游戏攻略(... 两分钟总结!宝宝浙江游戏攻略(辅助挂)都是真的有挂(2024已更新)(百度知乎)1、很好的工具软件,...
八分钟辅助挂!泸州大贰软件包赢... 八分钟辅助挂!泸州大贰软件包赢(辅助挂)详细辅助黑科技教程(2023已更新)(百度)1)泸州大贰软件...
7分钟总结!亲友麻将有挂吗(辅... 7分钟总结!亲友麻将有挂吗(辅助挂)其实真的有挂(2024已更新)(今日头条)1、完成亲友麻将有挂吗...
九分钟辅助挂!雀神开外挂专用辅... 九分钟辅助挂!雀神开外挂专用辅助器下载安装(辅助挂)详细辅助软件教程(2023已更新)(百度贴吧);...
7分钟理解!棋乐麻将有挂吗(透... 7分钟理解!棋乐麻将有挂吗(透视)的确真的有挂(2025已更新)(百度知乎);运棋乐麻将有挂吗辅助工...
三分钟辅助挂!优乐麻将有没有挂... 三分钟辅助挂!优乐麻将有没有挂(透视)详细辅助黑科技教程(2024已更新)(百度);1、优乐麻将有没...
3分钟讲解!呼包鄂麻将有挂吗(... 3分钟讲解!呼包鄂麻将有挂吗(透视)果真真的有挂(2023已更新)(微博客户端);运呼包鄂麻将有挂吗...
6分钟辅助挂!广丰五十k可以开... 6分钟辅助挂!广丰五十k可以开外挂吗(辅助挂)详细辅助挂教程(2024已更新)(小红书);1、全新机...