Warning: file_get_contents(/data/phpspider/zhask/data//catemap/8/python-3.x/18.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 “全部”是进口的简写吗?_Python_Python 3.x - Fatal编程技术网

Python “全部”是进口的简写吗?

Python “全部”是进口的简写吗?,python,python-3.x,Python,Python 3.x,Python包初始化文件可以有变量\uuuuuuuuuuuuuuu,该变量列出了使用时要导入的子包:来自包导入* 这是否与在init文件中写入导入子包名称相同(而不是\uuuuu all\uuuu) 我读过一篇文章,文章说如果包目录中的init.py文件包含一个名为all的列表,它被视为当遇到来自import*的语句时应导入的模块列表。\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>对于单个源文件比对于init\uuuuuuuuuuuuuupy.py文件更有用。在

Python包初始化文件可以有变量
\uuuuuuuuuuuuuuu
,该变量列出了使用时要导入的子包:
来自包导入*

这是否与在init文件中写入导入子包名称相同(而不是
\uuuuu all\uuuu


我读过一篇文章,文章说如果包目录中的init.py文件包含一个名为all的列表,它被视为当遇到来自import*的语句时应导入的模块列表。

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu>对于单个源文件比对于
init\uuuuuuuuuuuuuupy.py
文件更有用。在这样的
\uuuuu init\uuuuuuu.py
文件中,您通常已经只导入了希望从包外部提供的变量和函数。例如:

package foo
+-- __init__.py
+-- bar.py
+-- baz.py

\uuuu init\uuuuu.py


bar.py


然后在包装之外

import foo

foo.some_method()  # works
foo.other_method()  # works
foo.hidden_method()  # error

\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu
旨在列出模块中的“。它不会引发次级债的进口-packages@Anthony-一篇在线文章说-如果包目录中的init.py文件包含名为all的列表,它是一个模块列表,当遇到import*中的语句时,应该导入这些模块。这是一个非常直观的答案:)另外,您能告诉我在包的init文件中所有模块都有什么用途吗?与模块中的相同?@variable
\uuuuu init\uuuuu.py
实际上与任何其他python源文件一样,只是当您尝试导入整个文件夹时,它是隐式导入的。从技术上讲,您可以将所有代码都写入
\uuuu init\uuuuuuuuuupy
文件中,在这种情况下,您可能需要在其中放入一个
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuu
变量,以限制其他人从中导入的内容。与处理任何其他源文件的方式相同。这里的区别是,
\uuuuuu init\uuuuuuuuuuuy.py
通常不是这样使用的,因此
\uuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuuu。如果包目录中的init.py文件包含一个名为all的列表,那么当遇到import*中的语句时,它将被视为应该导入的模块列表。
def some_method(): 
    ...

def other_method():
    ...

def hidden_method():
    ...

class some_class:
    ...

__all__ = ['some_method', 'other_method', 'some_class']
import foo

foo.some_method()  # works
foo.other_method()  # works
foo.hidden_method()  # error