0
点赞
收藏
分享

微信扫一扫

python基础(part13)--包



文章目录

  • ​​包 package​​
  • ​​导入​​
  • ​​举个例子1​​
  • ​​举个例子2​​


包 package

  • 定义

将模块以文件夹的形式进行分组管理。

  • 作用

让一些相关的模块组织在一起,使逻辑结构更加清晰。

python基础(part13)--包_包名

  • 例子(这个是包么?)

①我们单独创建一个空文件夹叫package01,请问这是包么?

python基础(part13)--包_调用方法_02
答:不是!

②我们在package01文件夹里,创建一个​​__init__.py​​​模块,package01是包么?
python基础(part13)--包_python_03
答:是!

因为package01文件夹内有​​__init__.py​​​ 模块,所以package01是包。​​__init__.py​​ 模块内部可以是空的,但必须要有,如果没有这个模块,package01就不是包。

但是我们创建包,不必要那么麻烦(先创建一个文件夹,再在文件夹内添加__init__.py模块).可以直接创建package,开发工具会自动帮我们创建一个自带__init__.py的文件夹(包)。

我们创建一个叫package02的包,如下图所示:
python基础(part13)--包_根目录_04

python基础(part13)--包_python_05

导入

  • 语法
from 包名 import 模块名 [as 模块新名]
from 包名.子包名 import 模块名 [as 模块新名]
from 包名.子包名.模块名 import 成员名 [as 属性新名]

# 导入包内的所有子包和模块
from 包名 import *
from 包名.模块名 import *

举个例子1

首先我们创建一个项目,叫day14,并将day14设置为项目根目录则day14的路径则会加到sys.path当中(pycharm中的day14文件夹会变蓝。但是这种,设置项目根目录的操作,仅限于pycharm, 当我们抛弃了pycharm用其他编辑器/终端运行,则可能没有这种设置):

python基础(part13)--包_python_06
python基础(part13)--包_调用方法_07

备注:项目根目录里不需要方​​__init__.py​​​文件,但是包内需要放​​__init__.py​​文件。

我们再用项目根目录的主模块code01.py,调用package01包下的module01.py模块,再使用module01.py模块下的fun01方法:

①调用方法1
python基础(part13)--包_调用方法_08

②调用方法2

python基础(part13)--包_根目录_09

③调用方法3

我们先在​​__init__.py​​​文件中,添加一行代码:
python基础(part13)--包_包名_10
再导包,调用方法:
python基础(part13)--包_根目录_11

④调用方法4(推荐)

python基础(part13)--包_调用方法_12

举个例子2

若module01.py模块, 想调package02里的module02.py模块改咋办?
python基础(part13)--包_包名_13

在module01.py模块中写入以下代码:

python基础(part13)--包_包名_14
在主模块code01.py中运行一下:
python基础(part13)--包_调用方法_15

结果:
python基础(part13)--包_根目录_16

备注:module02.py也可以调用module01.py, 但是我们要调用时,必须从根目录写起。

举报

相关推荐

0 条评论