编辑
2026-04-01
undefined
00

目录

工程结构
导入
all列表
主文件
搜索顺序
init.py

工程结构

在Python中,最顶级的叫做包,包 → 模块 → 类 → 方法、变量。

  • 模块(module),一个py文件,模块名就是文件名
  • 包(package),含有多个py文件的文件夹,只有包含了__init__.py模块的文件夹才能成为包

包中的__init__.py文件默认内容为空,一般用于描述当前包的信息(在导入包下面的模块时,会自动加载)。

导入

导入,其实就是将模块或包加载到内存中,以后再去内存中拿就行。在Python内部默认设置了一些路径,导入模块或包时,都会按照指定顺序逐一去特定的路径查找。

如果想要导入任意的模块或包,可以手动在sys.path中添加指定路径,然后再导入,例如:

import sys sys.path.append("指定路径") import xxx # 导入指定路径下的一个xxx.py文件

all列表

如果一个模块文件中有__all__变量,当使用 from xxx import * 导入时,只能导入这个列表中的元 素。

使用from 包名 import *必须在__init__.py文件中添加**all** = [],控制允许导入的模块列表。

主文件

执行一个py文件时:**name** == "**main**";导入一个py文件时:**name** == "模块名"**name**有2个作用:

  • 作为这个模块的入口,类似其他语言中的main函数
  • 作为调试使用

搜索顺序

导入模块时,先搜索当前目录指定模块名的文件,如果有就直接导入;如果没有,再搜索系统目录。

模块一般都有一个内置属性__file__,可查看模块的完整路径。

init.py

要在外界使用包中的模块,需在__init__.py中指定对外界提供的模块列表:

# 从当前目录导入模块列表 from . import 模块名 from . import 模块名

本文作者:a

本文链接:

版权声明:本博客所有文章除特别声明外,均采用 BY-NC-SA 许可协议。转载请注明出处!