我是靠谱客的博主 敏感橘子,最近开发中收集的这篇文章主要介绍python模块和包,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

模块和包

1.模块

python模块(module),是一个python文件,以.py结尾,包含了python对象定义和python语句。

模块可以定义函数、类和变量,模块里也能包含可执行的代码

2.导入模块

(1)导入模块的方式

① import 模块名

在这里插入图片描述

② from…import…

在这里插入图片描述
③ from…import *
在这里插入图片描述
④ as定义别名

在这里插入图片描述

3.制作模块

在python中,每个python文件都可以作为一个模块,模块的名字就是文件的名字

即自定义模块名必须要符合标识符的命名规则

(1)定义模块

在这里插入图片描述

(2)测试模块

def testA(a,b):
    print(a + b)

testA(1,2)

在这里插入图片描述
这个时候,无论是当前文件,还是其他导入了此模块的文件,在运行时都会自动执行调用

解决方法

def testA(a,b):
    print(a + b)

if __name__ == '__main__':
    testA(1,2)

此时只会当前文件中调用函数,其他导入的文件中不会执行

(3)调用模块

import my_module1
my_module1.testA(1,2)

在这里插入图片描述

注意:

当使用from…import…或from…import * 导入多个模块,且模块内有同名的功能时,当调用这个同名功能时,调用【后导入】的模块中的功能

在这里插入图片描述
在这里插入图片描述

from modu1 import my_test
from modu2 import my_test

my_test(3,2)

在这里插入图片描述
4.模块定位顺序

当导入一个模块时,python解析器对模块位置的搜索顺序为

(1)当前目录 (2)如果不在当前目录,python则搜索shell变量PYTHONPATH下的每个目录 (3)如果都找不到,python会查看默认路径【Unix下,默认路径一般是/usr/local/lib/python/】

模块搜索路径存储在system模块的sys.path变量中,变量中包含当前目录,PYTHONPATH和由安装过程决定的默认目录

注意:

① 自定义模块名不要和已有模块名重复,否则会导致模块功能无法正常使用

② 使用from 模块名 import 功能 导入方式时,如果功能名字重复,调用到的是最后定义或导入的模块功能

5.__all__

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

在这里插入图片描述

from my_module1 import *
testA()
testB()

在这里插入图片描述

6.包

将有联系的模块组织在一起,即放到同一个文件夹下,并且在这个文件夹创建一个名字为__init__.py文件,那么这个文件夹就称之为包

(1)制作包

在这里插入图片描述

(2)导入包

① 方法1

在这里插入图片描述

import mypackage.my_module1
mypackage.my_module1.info_print1()

在这里插入图片描述

② 方法2

在这里插入图片描述
用此方法时,必须在__init__.py文件中添加__all__ = [ ],控制允许导入的模块列表

最后

以上就是敏感橘子为你收集整理的python模块和包的全部内容,希望文章能够帮你解决python模块和包所遇到的程序开发问题。

如果觉得靠谱客网站的内容还不错,欢迎将靠谱客网站推荐给程序员好友。

本图文内容来源于网友提供,作为学习参考使用,或来自网络收集整理,版权属于原作者所有。
点赞(56)

评论列表共有 0 条评论

立即
投稿
返回
顶部