极客编程python入门-模块与包(python开源模块)

网友投稿 301 2022-08-22


极客编程python入门-模块与包(python开源模块)

模块

Python 提供了一个办法,把这些定义存放在文件中,为一些脚本或者交互式的解释器实例使用,这个文件被称为模块。

模块是一个包含所有你定义的函数和变量的文件,其后缀名是.py。

模块可以被别的程序引入,以使用该模块中的函数等功能。这也是使用 python 标准库的方法。

格式

#!/usr/bin/python3# 文件名: using_sys.py import sys print('命令行参数如下:')for i in sys.argv: print(i) print('\n\nPython 路径为:', sys.path, '\n')

1、import sys 引入 python 标准库中的 sys.py 模块;这是引入某一模块的方法。

2、sys.argv 是一个包含命令行参数的列表。

3、sys.path 包含了一个 Python 解释器自动查找所需模块的路径的列表。

使用方法

import module1[, module2[,... moduleN]

包是一种管理 Python 模块命名空间的形式,采用"点模块名称"。

比如一个模块的名称是 A.B, 那么他表示一个包 A中的子模块 B 。

就好像使用模块的时候,你不用担心不同模块之间的全局变量相互影响一样,采用点模块名称这种形式也不用担心不同库之间的模块重名的情况。

例子

sound/ 顶层包 __init__.py 初始化 sound 包 formats/ 文件格式转换子包 __init__.py wavread.py wavwrite.py aiffread.py aiffwrite.py auread.py auwrite.py ... effects/ 声音效果子包 __init__.py echo.py surround.py reverse.py ... filters/ filters 子包 __init__.py equalizer.py vocoder.py karaoke.py ...

建议

当你这样写代码的时候,代码中的变量会变得非常混乱。不仅仅是后面导入的同名函数会覆盖前面的问题,而且导致你在写一个函数的时候不能确定它到底来自哪里,代码可读性会变得非常差。

其实就不要懒,调用函数的时候直接这样调用:

import modname1import modname2import modname3modname1.def1()modname2.def1()modname3.def1()

这样不仅不会让你找不见同名函数,也可以非常确切的看到这个函数来自哪里

如果你的库一层套一层,是这样的结构:

import path1.path2.path3.modname1

那么你可以用as关键字给它重命名,以便于缩短代码宽度,维持可读性。


版权声明:本文内容由网络用户投稿,版权归原作者所有,本站不拥有其著作权,亦不承担相应法律责任。如果您发现本站中有涉嫌抄袭或描述失实的内容,请联系我们jiasou666@gmail.com 处理,核实后本网站将在24小时内删除侵权内容。

上一篇:Linux下OpenCV出现错误:ASSERT false in file qasciikey.cpp, line 501(python opencv报错)
下一篇:springboot中pom.xml文件注入test测试依赖时报错的解决
相关文章

 发表评论

暂时没有评论,来抢沙发吧~