gpt4 book ai didi

python - 在 python 中定义私有(private)模块函数

转载 作者:IT老高 更新时间:2023-10-28 12:14:23 28 4
gpt4 key购买 nike

根据http://www.faqs.org/docs/diveintopython/fileinfo_private.html :

Like most languages, Python has theconcept of private elements:

  • Privatefunctions, which can't be called fromoutside their module

但是,如果我定义了两个文件:

#a.py
__num=1

和:

#b.py
import a
print a.__num

当我运行 b.py 时,它会打印出 1 而不给出任何异常。是diveintopython错了,还是我误解了什么?有没有办法将模块的功能定义为私有(private)的?

最佳答案

在 Python 中,“隐私”取决于“同意成年人”的协议(protocol)级别 - 您不能强制它(就像在现实生活中一样;-)。一个前导下划线意味着您不不应该“从外部”访问它——两个前导下划线(不带尾随下划线)更加有力地传达信息...但是,归根结底,它仍然取决于社会惯例和共识:Python 的内省(introspection)足够强大,以至于你不能手铐世界上所有其他程序员来尊重你的意愿。

((顺便说一句,虽然这是一个 secret ,但对于 C++ 来说也是如此:对于大多数编译器,在 #includeing 之前有一个简单的 #define private public 行您的 .h 文件是狡猾的编码人员对您的“隐私”进行哈希处理...!-))

关于python - 在 python 中定义私有(private)模块函数,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/1547145/

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