gpt4 book ai didi

python - python中的私有(private)函数/变量强制执行

转载 作者:行者123 更新时间:2023-11-28 19:36:06 35 4
gpt4 key购买 nike

我看到很多执行“松散”私有(private)变量/函数的 python 代码。他们将使用一个下划线(例如 _foo)声明函数/变量,然后仅在类/文件中使用它。他们不使用双下划线真的让我很恼火,因为最终,有人会从类(class)外称这个“私有(private)”成员。

是否有某种方法可以对单下划线实现隐私保护(无需更改为双下划线)?谢谢!

最佳答案

没有。这就是 python 的哲学:不要让编译器/解析器强制执行隐私,因为想要访问私有(private)成员的开发人员无论如何都有办法这样做(反射等)。这个想法告诉人们 嘿,这不是公共(public) API 的一部分。如果使用不当,它可能会损坏东西或杀死您的猫。我可能还会经常更改签名,因为它不是公共(public) API 的一部分,而且我不必关心使用它的人

仅供引用,您实际上可以使用 obj._ClassName__variableName 从外部访问双下划线变量(同样适用于方法)。除此之外,不鼓励使用双下划线,除了 mixin 对象——你永远不知道是否有人想继承你的类。

关于python - python中的私有(private)函数/变量强制执行,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/5559256/

35 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com