python之模块和包的导入与使用,pip的使用(13)

1、模块

模块就是很多个功能的集合体,我们的程序可以通过导入模块,来使用这个模块里面的功能;从而提升程序的开发效率

在python中模块本质上就是一个 .py文件,在这个文件中有着许多函数用来定义功能;导入模块实际上就是导入 .py文件,导入后就可以直接调用里面的函数了;如:
ah.py文件 其 模块名就是 ah,我们通过模块名导入模块

1.1 模块的分类

1.1.1 内置模块

python自带的,安装好python解释器后,就拥有的模块,里面的功能都是默认的;通常内置函数就在这些模块当中

1.1.2 第三方模块(比较重要)

需要到指定地方进行下载的模块,通常下载的一个模块中就包含了许多功能;如:web、Django、flask等;python中的第三方模块超20万个,我们只需按规则使用,针对性的学习

1.1.3 自定义模块

自己创建的模块,里面的功能由自己定义;如下:

在这里插入图片描述

1.2 模块的导入

模块需要导入才能使用里面的功能

1.2.1 单个模块的导入

语法格式:import 模块名,注意:导入模块后会立即执行里面的代码

  • 若需要使用模块中的名字,需要加上 模块名. 作为前缀,避免与本地相同名字冲突

语法格式:模块名.名字

案例:
在这里插入图片描述

import ah # 导入模块 ah,立即执行其中的代码
ah.a() # 调用模块中的函数

输出结果:

我是阿豪
666

tips:
一般来说py文件的名字可以任意取,但当该文件作为模块来使用时,就需要注意了,要避免与内置模块重名,以免调用时发生冲突,可以参考变量的取名规则

1.2.2 同时导入多个模块

语法格式:import 模块名1,模块名2,...,我们在编写代码时建议一行导入一个模块,同时导入多个模块不方便扩展

1.2.3 模块导入规范

  1. 通常我们会将导入的模块写在最上方,方便全局可用,若写在局部内,则只能在局部使用(在个别情况下使用局部导入)

  2. 三种类型模块的导入顺序,从高到低依次为:内置模块、第三方模块、自定义模块

1.2.4 给导入的模块取别名

  1. 单个模块取别名

语法格式:import 模块名 as 别名
注意:别名取好后,就只能使用别名来调用模块内的功能了,如:别名.名字

  1. 多个模块取别名

语法格式:impotr 模块名1 as 别名1, 模块名2 as 别名2,...

1.2.5 同时导入模块和名字

  1. 导入单个名字

语法格式:from 模块名 import 名字
这种导入方式在导入模块的同时还导入了模块中的名字,这样我们就可以不用加前缀,直接调用模块中的名字

案例:
在这里插入图片描述

from ah import a # 调用模块 ah 和 函数 a
a() # 输出结果:666
  1. 同时导入多个名字

语法格式:from 模块名 import 名字1,名字2,...

总结:
该方法的好处是不用通过加上 前缀来使用模块中的名字,坏处是直接导入名字可能会遇到同名覆盖的问题

1.2.6 给导入的名字取别名

语法格式:

  1. from 模块名 import 名字 as 别名
  2. from 模块名 import 名字1 as 别名1,名字2 as 别名2,...
  3. from 模块名 impot 名字1,名字2 as 别名2,...

说明:
给名字取别名可以避免同名覆盖问题

扩展:导入模块中所有的名字(不推荐)

语法格式:from 模块名 import *
这种导入方式可以一次性导入模块中所有的名字,以下划线开头的名字不会被导入;如:_ab,_name

注意:
这种导入方式无法取别名,容易发生同名覆盖的现象,所以不推荐使用

2、模块的查找路径和优先级

我们自定义的模块通常放在指定的路径下,那么内置模块又放在什么位置呢?当我们调用模块时,python是如何查找该模块以及各类模块查找的优先级是怎样的?

2.1 查找路径

我们知道模块的本质就是一个.py文件,这些文件存放在不同路径下,我们可以通过以下方法,找到这些路径

import sys # 导入内置模块 sys
print(sys.path) # 打印模块下的名字 path,得到模块的查找路径

说明:
打印 sys.path得到了一个列表,列表中的元素就是这些模块的存放路径了,而python就是按照这个列表中的路径,从左往右依次查找;默认第一个路径代表当前文件夹,后面的路径为python的安装路径

拓展:
我们通过pip下载的第三方库默认是安装到下面这个路径中:python\\lib\\site-packages

2.2 优先级

从上面我们知道,python按照 path这个列表中的路径,从左往右依次查找;当在前面的路径找到指定模块后就会停止查询,不会继续向后寻找了;当模块不在这个列表中的路径中时,我们还可以通过 append()和insert()命令将模块所在路径插入到列表中任意位置

3、包

包本质上也是一个模块,若模块是文件,就相当于一个文件夹,用来管理模块的

3.1 python中的包

在python中一个文件夹就可以当做一个包

tips:
在python2.0版本,文件夹里必须要有一个文件 __init__.py,这个文件夹才能算作一个包;而在python3.0版本没有这个规定,但为了规范,一般还是会放置该文件

在pycharm中有个快捷方式 python package,可以直接创建一个包,用该方法创建的文件夹自带 __init__.py文件;如:
在这里插入图片描述
在这里插入图片描述

3.2 包的导入

3.2.1 直接导入

语法格式:import 包名
包被导入后,会立即执行其中 __init__.py 文件中的代码

案例:
在这里插入图片描述
在这里插入图片描述

3.2.2 导入包下指定模块

  • 方法1:

语法格式:import 包名.模块名
调用模块下的名字:包名.模块名.名字

给模块取别名:
语法格式:import 包名.模块名 as 别名
调用模块下的名字:别名.名字

  • 方法2:

语法格式:from 包名 import 模块名
取别名:from 包名 import 模块名 as 别名

  • 方法3:

语法格式:from 包名.模块名 import 名字
给名字取别名:from 包名.模块名 import 名字 as 别名

注意:
当需要导入包下多个模块时,模块间用逗号隔开即可;当一个包下还有包时,我们可以通过 . 来连接;如:from 包名1.包名2.模块名 import 名字

4、第三方模块的给管理(pip的使用)

我们知道第三方模块就是别人写好的python文件,而我们需要到指定地方去下载它,下载好的模块默认保存在python安装路径下: python/lib/site-package;同时我们也可以在 sys.path 内查找到该路径
python为了更方便的管理第三方模块,单独设立了一个功能,也就是 pip 了,我们往下看

4.1 pip的基本使用

pip 默认加入到环境变量中,我们可以直接在cmd 命令行中使用它

  1. 查看所有下载的第三方库
    命令:pip list
    在这里插入图片描述

  2. 下载第三方库
    命令:pip install 库名
    在这里插入图片描述

  3. 卸载第三方库
    命令:pip uninstall 库名

注意:
pip命令下载第三方库默认都是在外网上进行下载,速度非常慢;这里我们可以通过换源到国内进行下载,可以大大提高下载速度
命令:pip install 库名 -i 镜像源地址

  • 常用镜像源地址
    豆瓣:https://pypi.douban.com/simple/
    清华大学:https://pypi.tuna.tsinghua.edu.cn/simple/
    阿里云:https://mirrors.aliyun.com/pypi/simple/
    中国科技大学:https://mirrors.ustc.edu.cn/pypi/simple/ps/

案例:
在这里插入图片描述

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

盲敲代码的阿豪

你的鼓励将是我创作的最大动力

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值