公众号#小鹏长翅

 

python中的模块&包&第三方库详解

公众号‘小鹏长翅’同步发布

模块&包

  • 模块

一个.py文件就是一个模块,里面是一些函数和变量,需要的时候可以导入。

模块命名规范:

1.以英文开头,不出现中文

2.模块名不应与系统内置函数重名

包本身就是一个文件夹,如果文件夹内有__init__.py文件,我们就称之为包。

包的主要作用是将我们的模块进行分类管理,使项目结构更加清晰,也方便调用时导入。

init.py内会放一些需要初始化的数据,导入包时,init.py文件里的代码会立刻执行一次。(例如:一个操作数据库的包,就可以把我们'连接数据库服务器'和'登陆数据库'的操作放在__init__.py内,导入包时就会自动执行,然后就可以直接进行数据操作了)

常见的包结构

project_1使我们的项目文件

package1和login都是包

login属于package1的子包

包内的.py文件都是属于该包的模块

包里除了.py文件,也可以放其他类型的文件,例如yaml文件,txt文件等。

  • 导入模块

导入模块的几种方式

1.import 模块名

1)导入同级目录下的模块--import 模块

我们在test1.py内写入代码

#test1.py
print('有人导入我了')

然后在test2.py内进行导入

#test2.py
import test1
#运行
>>>有人导入我了

2)导入上级目录下的模块--import 包.模块

我们在test3.py内写入代码

#\login\test3.py
print('我是test3')

然后在test2.py内进行导入

#test2.py
import login.test3
#运行
>>>我是test3
  1. from 包 import 模块

我们在test3内写个函数

#\login\test3.py
def get_sum(a,b):
    return a+b

然后在test2.py内调用test3.py

#test2.py
from login import test3 as a
#as 给函数起个别名,可以解决导入多个模块时有同名模块的问题
print(a.get_sum(1,2))
#运行
>>>3

3.from 模块 import 函数

test2.py内调用test3.py

#test2.py
from login.test3 import get_sum
print(get_sum(1+2))
#运行
>>>3

注:当模块处于多层子包内时,使用

'import 包.包.包.模块'

'from 包.包.包 import 模块'

调用即可

总结:

导入方式导入后用法
import 模块名 模块名.函数名
import 包名.包名.模块名 模块名.函数名
from 包名.包名 import 模块名 模块名.函数名
from 包名.包名.模块名 import 函数名 直接使用函数

posted on 2021-12-15 13:32  公众号#小鹏长翅  阅读(211)  评论(0编辑  收藏  举报

导航