我是靠谱客的博主 生动日记本,最近开发中收集的这篇文章主要介绍模块(自定义模块)自定义模块制作自定义模块步骤模块定位顺序- -all - -列表,觉得挺不错的,现在分享给大家,希望可以做个参考。

概述

自定义模块

当需要特定功能的模块时,可以自己自定义,在所有需要该模块功能的地方调用,从而避免重复代码的多次使用

注意:自定义模块的名字要符合python的规则

制作自定义模块步骤

三个基本步骤:

1.定义模块:
新建⼀个Python⽂件,命名为 my_module1.py ,并定义 testA 函数。

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

2.测试模块:

def testA(a, b):
 print(a + b)
# 只在当前⽂件中调⽤该函数,其他导⼊的⽂件内不符合该条件,则不执⾏testA函数调⽤
if __name__ == '__main__':
 testA(1, 1)

3.调用模块:

import my_module1
my_module1.testA(1, 1)

模块定位顺序

当导⼊⼀个模块,Python解析器对模块位置的搜索顺序是:
1.当前⽬录
2.如果不在当前⽬录,Python则搜索在shell变量PYTHONPATH下的每个⽬录。
3.如果都找不到,Python会察看默认路径。UNIX下,默认路径⼀般为/usr/local/lib/python/模块搜索路径存储在system模块的sys.path变量中。变量⾥包含当前⽬录,PYTHONPATH和由安装过程决定的默认⽬录。

注意:
1.⾃⼰的⽂件名不要和已有模块名重复,否则导致模块功能⽆法使⽤
2.使⽤from 模块名 import 功能 的时候,如果功能名字重复,调⽤到的是最后定义或导⼊的功能。

- -all - -列表

如果⼀个模块⽂件中有 all 变量,当使⽤ from xxx import * 导⼊时,只能导⼊这个列表中的元素。
例:

1.模块代码:

__all__ = ['testA']

def testA():
	print('testA')
def testB():
	print('testB')

all列表里只有testA的名字,导入该模块时只能使用testA功能,不能使用testB功能。

2.导⼊模块的代码:

from my_module1 import *
testA()
testB()

3.结果:
导入后可以调用模块中的testA功能,但不能调用testB功能(报错,如下图)
在这里插入图片描述

最后

以上就是生动日记本为你收集整理的模块(自定义模块)自定义模块制作自定义模块步骤模块定位顺序- -all - -列表的全部内容,希望文章能够帮你解决模块(自定义模块)自定义模块制作自定义模块步骤模块定位顺序- -all - -列表所遇到的程序开发问题。

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

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

评论列表共有 0 条评论

立即
投稿
返回
顶部