Python入门【包package的使用、导入包操作和本质 、用 * 导入包 、库(Library) 、标准库(Standard Library)、第三方扩展库的介绍 】(二十二)

👏作者简介:大家好,我是爱敲代码的小王,CSDN博客博主,Python小白
📕系列专栏:python入门到实战、Python爬虫开发、Python办公自动化、Python数据分析、Python前后端开发
📧如果文章知识点有错误的地方,请指正!和大家一起学习,一起进步👀
🔥如果感觉博主的文章还不错的话,请👍三连支持👍一下博主哦
🍂博主正在努力完成2023计划中:以梦为马,扬帆起航,2023追梦人

 🔥🔥🔥 python入门到实战专栏:从入门到实战 

🔥🔥🔥 Python爬虫开发专栏:从入门到实战

🔥🔥🔥 Python办公自动化专栏:从入门到实战

🔥🔥🔥 Python数据分析专栏:从入门到实战

🔥🔥🔥 Python前后端开发专栏:从入门到实战

目录

         包package的使用

pycharm中创建包 

导入包操作和本质 

用 * 导入包 

库(Library) 

标准库(Standard Library)

第三方扩展库的介绍 

表 常用第三方库大汇总 

PIP模块管理工具 


包package的使用

包(package)的概念和结构 

当一个项目中有很多个模块时,需要再进行组织。我们将功能类似的模块放到一起,形成了“包”。本质上,“包”就是一个必须有 __init__.py 的文件夹。

典型结构如下:

包下面可以包含“模块(module)”,也可以再包含“子包 (subpackage)”。就像文件夹下面可以有文件,也可以有子文件夹一 样。 

上图中, a 是上层的包,下面有一个子包: aa 。可以看到每个包里 面都有 __init__.py 文件。 

pycharm中创建包 

在pycharm开发环境中创建包,非常简单。在要创建包的地方单击右键: New-->Python package 即可。pycharm会自动帮助我们生成带有 __init__.py 文件的包。

导入包操作和本质 

上一节中的包结构,我们需要导入 module_AA.py 。方式如下:

1 import a.aa.module_AA

在使用时,必须加完整名称来引用,比如: a.aa.module_AA.fun_AA()

2 from a.aa import module_AA

在使用时,直接可以使用模块名。 比如: module_AA.fun_AA()

3 from a.aa.module_AA import fun_AA

直接导入函数 在使用时,直接可以使用函数名。 比如: fun_AA()

1、 from package import item  这种语法中,item 可以是包、模块,也可以是函数、类、变量。

2、 import item1.item2 这种语法中, item 必须是包或模块,不能是其他。

导入包的本质其实是“导入了包的 __init__.py ”文件。也就是说, import pack1 意味着执行了包 pack1 下面的 __init__.py 文件。 这样,可以在 __init__.py 中批量导入我们需要的模块,而不再需要一个个导入。 

__init__.py 的三个核心作用:

1 作为包的标识,不能删除。

2 导入包实质是执行 __init__.py 文件,可以在 __init__.py 文件中做这个包的初始化、以及需要统一执行代码、批量导入

【示例】测试包的 __init__.py 文件本质用法

a 包下的 __init__.py 文件内容:

import turtle
import math
print("导入a包")

b 包下的 module_B1.py 文件中导入 a 包,代码如下:

import a
print(a.math.pi)

执行结果如下:

导入a包
3.141592653589793

❤️如上测试我们可以看出python的设计者非常巧妙的通过 __init__.py 文件将包转成了模块的操作。

用 * 导入包 

import * 这样的语句理论上是希望文件系统找出包中所有的子模块, 然后导入它们。这可能会花长时间等。Python 解决方案是提供一个 明确的包索引。 这个索引由 __init__.py 定义 __all__ 变量,该变量为一个列表,如上例 a 包下的 __init__.py 中,可定义 __all__ = ["module_A","module_A2"] 这意味着, from sound.effects import * 会从对应的包中导入以上两个子模块;

⚠️尽管提供 import * 的方法,仍不建议在生产代码中使用这种写法。

库(Library) 

Python中库是借用其他编程语言的概念,没有特别具体的定义。

模块和包侧重于代码组织,有明确的定义。库强调的是功能性,而不是代码组织。 我们通常将某个功能的“模块的集合”,称为库。

标准库(Standard Library)

Python拥有一个强大的标准库。Python语言的核心只包含数字、字 符串、列表、字典、文件等常见类型和函数,而由Python标准库提 供了系统管理、网络通信、文本处理、数据库接口、图形系统、 XML处理等额外的功能。

Python标准库的主要功能有:

1、文本处理,包含文本格式化、正则表达式匹配、文本差异计算与合并、Unicode支持,二进制数据 处理等功能。

2 、 文件处理,包含文件操作、创建临时文件、文件压缩与归档、操作配置文件等功能

3、操作系统功能,包含线程与进程支持、IO复用、日期与时间处理、调用系统函数、日志 (logging)等功能

4 、 网络通信,包含网络套接字,SSL加密通信、异步网络通信等功能

5、网络协议,支持HTTP,FTP,SMTP,POP,IMAP,NNTP,XMLRPC等多种网络协议,并提供了 编写网络服务器的框架

6、 W3C格式支持,包含HTML,SGML,XML的处理。

7、 其它功能,包括国际化支持、数学运算、HASH、Tkinter等。

目前学过的有:random、math、time、file、os、sys等模块。 

1 random模块实现随机数处理

2 math模块实现数学相关的运算

3 time模块实现时间的处理

4 file模块实现对文件的操作

5 OS模块实现和操作系统的交互

6 sys模块实现和解释器的交互

第三方扩展库的介绍 

强大的标准库奠定了python发展的基石,丰富和不断扩展的第三方库是python壮大的保证。我们可以进入PyPI官网 (https://pypi.org):

可以看到发布的第三方库达到了十多万种,众多的开发者为Python 贡献了自己的力量。

表 常用第三方库大汇总 

 

PIP模块管理工具 

pip 是一个现代的,通用的Python包管理工具。提供了对 Python 包的查找、下载、安装、卸载的功能。

安装第三方扩展库的2种方式

第三方库有数十万种之多,以pymysql库为例讲解第三方扩展库的安装。

第一种方式:命令行下远程安装

1、 pip更换数据源(由于访问国外网站慢,建议更换):

家目录中,创建 pip 目录,然后增加文件: pip.ini 内容拷贝下 面的即可(不要加其他字符):

[global]
index-url = https://mirrors.aliyun.com/pypi/simple/
[install]
trusted-host=mirrors.aliyun.com

 Linux的家目录: ~ 增加目录和文件: ~/.pip/pip.conf

Windows的家目录是: c:/user/用户名     增加目录和文件: c:/user/用户名/pip/pip.ini

2 、其他数据源: 

阿里云 http://mirrors.aliyun.com/pypi/simple/

豆瓣:http://pypi.douban.com/simple/

中国科学技术大学 : https://pypi.mirrors.ustc.edu.cn/simple

清华:https://pypi.tuna.tsinghua.edu.cn/simple

华中理工大学 : http://pypi.hustunique.com/simple

山东理工大学 :http://pypi.sdutlinux.org/simple

V2EX:http://pypi.v2ex.com/simple

3 、以安装第三方pymysql库为例,在命令行提示符下输入: pip install pymysql 即可。 

第二种方式:Pycharm中直接安装到项目中 

在Pycharm中,依次点击: file-->setting-->Project 本项目名-->Project Interpreter

点击 + ,然后输入要安装的第三方库 pymysql ,再点击按钮 Install Package ,等待安装即可,几秒种后,即提示安装成功: 

这样,我们就可以在项目中直接使用第三方库pymysql了。 

  • 3
    点赞
  • 9
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

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

余额充值