Warning: file_get_contents(/data/phpspider/zhask/data//catemap/2/python/364.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Python “为什么会有差异?”;进口;vs.“;导入*“;?_Python_Import - Fatal编程技术网

Python “为什么会有差异?”;进口;vs.“;导入*“;?

Python “为什么会有差异?”;进口;vs.“;导入*“;?,python,import,Python,Import,============= """module a.py""" test = "I am test" _test = "I am _test" __test = "I am __test" ~$python Python 2.6.2(r262:716002009年4月16日09:17:39) [GCC 4.0.1(Apple Computer,Inc.build 5250)]关于达尔文 有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。 >>>从进口* >>>试验 “我正在测试”

=============

"""module a.py"""
test = "I am test"
_test = "I am _test"
__test = "I am __test"
~$python
Python 2.6.2(r262:716002009年4月16日09:17:39)
[GCC 4.0.1(Apple Computer,Inc.build 5250)]关于达尔文
有关详细信息,请键入“帮助”、“版权”、“信用证”或“许可证”。
>>>从进口*
>>>试验
“我正在测试”
>>>_检验
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“\u test”
>>>_uuu测试
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
NameError:未定义名称“\u测试”
>>>导入
>>>测试
“我正在测试”
>>>a.测试
“我在测试”
>>>a..(u)测试
“我在测试”
>>> 
带有前导“u”(下栏)的变量不是公共名称,当使用
from x import*
时,将不会导入

这里,
\u test
\u test
不是公共名称

从语句描述中可以看出:

如果标识符列表被替换 以星号(“*”)表示,所有公共名称 在模块中定义的都绑定在 导入的本地命名空间 声明

由模块定义的公共名称 通过检查 变量的模块命名空间 命名为“所有”;如果已定义,则必须 作为名称的字符串序列 由该模块定义或导入。 ____;中给出的名称都是 被认为是公众的,并且被要求 存在如果未定义uuu all uuuu,则 公共名称集包括所有名称 在模块的命名空间中找到 不要以下划线开头 字符(“”)。应 包含整个公共API。它是 为了避免意外 导出不属于项目的项目 API(例如 是在 模块)

~ $ python
Python 2.6.2 (r262:71600, Apr 16 2009, 09:17:39) 
[GCC 4.0.1 (Apple Computer, Inc. build 5250)] on darwin
Type "help", "copyright", "credits" or "license" for more information.
>>> from a import *
>>> test
'I am test'
>>> _test
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '_test' is not defined
>>> __test
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
NameError: name '__test' is not defined
>>> import a
>>> a.test
'I am test'
>>> a._test
'I am _test'
>>> a.__test
'I am __test'
>>>