栏目分类:
子分类:
返回
名师互学网用户登录
快速导航关闭
当前搜索
当前分类
子分类
实用工具
热门搜索
名师互学网 > IT > 软件开发 > 后端开发 > Python

python模块和包

Python 更新时间: 发布时间: IT归档 最新发布 模块sitemap 名妆网 法律咨询 聚返吧 英语巴士网 伯小乐 网商动力

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__ = [ ],控制允许导入的模块列表

转载请注明:文章转载自 www.mshxw.com
本文地址:https://www.mshxw.com/it/488137.html
我们一直用心在做
关于我们 文章归档 网站地图 联系我们

版权所有 (c)2021-2022 MSHXW.COM

ICP备案号:晋ICP备2021003244-6号