python中下划线 _的用法

新新a.py代码如下:

VAR1 = 123  # 没有_变量
__VAR2 = 124 #有两个
_VAR3 = 44   #有一个

新建b.py代码如下:

from pb import *

print(VAR1)
print(__VAR2)
print(_VAR3)

运行 b.py 输出:

VAR1可以正常输出, _VAR2, __Var3 报错 not defined

可以通过以下语句引用,可以正常输出:

from pb import VAR1, _VAR3, __VAR2

print(VAR1)
print(__VAR2)
print(_VAR3)

还可以通过把变量字符串列表给变量 all,以达到隐藏的效果

all = [“VAR1”, "VAR2", "VAR3"]
使用 此 功能 时, from* 语句 只 会把 列 在
all
_ 列表 中的 这些 变量 名 复制 出来。 事实上, 这 和_ X 惯例 相反:__ all__ 是 指出 要 复制 的 变量 名, 而_ X 是指 出 不被 复制 的 变量 名。 Python 会 先 寻找 模块 内 的__ all__ 列表; 如果 没有 定义 的 话, from* 就会复制出 开头 没有单 下划线 的 所有 变量 名。

猜你喜欢

转载自blog.csdn.net/weixin_39956308/article/details/84991918