本文实例讲述了Python3.5模块的定义、导入、优化操作。分享给大家供大家参考,具体如下:

1、模块体系大纲

Python3导入模块原理 python中模块导入_Python3导入模块原理

2、模块的定义

模块的本质:是一个.py格式的Python文件。文件名test.py,对应的模块名为:test。

用来从逻辑上组织Python代码(变量、函数、类、逻辑),实现一个功能。

Python3导入模块原理 python中模块导入_文件名_02

3、模块的导入方法

Python3导入模块原理 python中模块导入_变量名_03

Python3导入模块原理 python中模块导入_python3导入模块原理_04

Python3导入模块原理 python中模块导入_Python3导入模块原理_05

Python3导入模块原理 python中模块导入_Python3导入模块原理_06

Python3导入模块原理 python中模块导入_python3导入模块原理_07

Python3导入模块原理 python中模块导入_Python_08

举例:

Python3导入模块原理 python中模块导入_文件名_09

(1)当导入的模块中有多个方法和多个变量时,导入模块的所有变量与方法,举例如下:

Python3导入模块原理 python中模块导入_Python_10

(2)两种模块的导入方法的使用比较:

仅仅导入模块,调用的方式是:模块.方法

导入模块的所有方法和变量:直接调用(不建议使用这样的方法)

原因:在调用文件中存在与被导入模块中一样的方法,则模块中的方法不会被调用,会被调用文件中的相同的方法覆盖。

Python3导入模块原理 python中模块导入_python3导入模块原理_11

(3)导入模块的具体某一个方法

Python3导入模块原理 python中模块导入_python3导入模块原理_12

(4)在调用文件中存在与被调用模块中一样的方法时,用as方法将被导入模块中的方法重命名。

Python3导入模块原理 python中模块导入_文件名_13

Python3导入模块原理 python中模块导入_Python_14

4、模块的制作

Python3导入模块原理 python中模块导入_Python_15

Python3导入模块原理 python中模块导入_变量名_16

Python3导入模块原理 python中模块导入_Python3导入模块原理_17

Python3导入模块原理 python中模块导入_python3导入模块原理_18

5、模块import的本质

导入模块的本质:就是把Python文件解释一遍。

Python3导入模块原理 python中模块导入_Python3导入模块原理_19

Python3导入模块原理 python中模块导入_Python3导入模块原理_20

(1)将代码解释一遍,所有代码赋值给模块变量名。调用:模块变量名.变量/方法。

Python3导入模块原理 python中模块导入_Python_21

(2)只解释模块的部分方法或变量,可直接使用该方法或变量,不需要模块名。

Python3导入模块原理 python中模块导入_变量名_22

6、包

Python3导入模块原理 python中模块导入_Python3导入模块原理_23

Python3导入模块原理 python中模块导入_Python3导入模块原理_24

Python3导入模块原理 python中模块导入_文件名_25

Python3导入模块原理 python中模块导入_文件名_26

(1)包package的定义:本质就是一个目录(文件夹),必须带有一个__init__.py文件,用来从逻辑上组织模块的。

(2)包的导入——其本质是:解释这个包下面的__init__.py文件。

Python3导入模块原理 python中模块导入_python3导入模块原理_27

Python3导入模块原理 python中模块导入_Python_28

7、(1)在不同级的目录下导入模块

Python3导入模块原理 python中模块导入_文件名_29

module1.py文件在day5目录下,而main1.py在day5/module_test目录下面,这两个文件不在同一个目录下面,此时,main.py文件想要调用module1模块的步骤如下:

由sys.path定义的路径可知,导入的模块先从当前的路径中去寻找模块,没有该模块的情况下,给sys.path添加同时包含module1模块和main1.py的路径,F:\PythonCode\day5

举例:

Python3导入模块原理 python中模块导入_Python_30

Python3导入模块原理 python中模块导入_变量名_31

(2)在不同级的目录下导入包:p_test.py文件调用包package_test下面的test,py文件里面的test()方法

Python3导入模块原理 python中模块导入_python3导入模块原理_32

Python3导入模块原理 python中模块导入_Python3导入模块原理_33

Python3导入模块原理 python中模块导入_python3导入模块原理_34

Python3导入模块原理 python中模块导入_变量名_35

8、导入优化

from module_test import test

Python3导入模块原理 python中模块导入_Python3导入模块原理_36

希望本文所述对大家Python程序设计有所帮助。