模块(module)简介

模块化——指将一个完整的程序分解为一个一个小的模块,通过将模块组合,来搭建出一个完整的程序。

模块化的特点:

① 方便开发

② 方便维护

③ 模块可以复用!

在Python中一个py文件就是一个模块,要想创建模块,实际上就是创建一个python文件

  • 注意:模块名要符号标识符的规范

模块的使用

# 在一个模块中引入外部模块
# ① import 模块名 (模块名,就是python文件的名字,注意不要py)
# ② import 模块名 as 模块别名
# - 可以引入同一个模块多次,但是模块的实例只会创建一个
# - import可以在程序的任意位置调用,但是一般情况下,import语句都会统一写在程序的开头
# - 在每一个模块内部都有一个__name__属性,通过这个属性可以获取到模块的名字
# - __name__属性值为 __main__的模块是主模块,一个程序中只会有一个主模块
# 主模块就是我们直接通过 python 执行的模块
import test_module as test # print(test.__name__)
print(__name__) # 也可以只引入模块中的部分内容
# 语法 from 模块名 import 变量,变量....
# from m import Person
# from m import test
# from m import Person,test

包Package

  • 包————也是一个模块,当我们模块中代码过多时,或者一个模块需要被分解为多个模块时,这时就需要使用到包,普通的模块就是一个py文件,而包是一个文件夹
  • 包中必须要一个一个 init.py 这个文件,这个文件中可以包含有包中的主要内容
#语法:from  包   import 普通模块
from Bao import A , B print(A.a)
print(B.b)

__pycache__文件

  1. python在运行模块时会自动生成__pycache__文件
  2. pycache 是模块的缓存文件
  3. py代码在执行前,需要被解析器先转换为机器码,然后再执行
  4. 所以我们在使用模块(包)时,也需要将模块的代码先转换为机器码然后再交由计算机执行
  5. 而为了提高程序运行的性能,python会在编译过一次以后,将代码保存到一个缓存文件中
  6. 这样在下次加载这个模块(包)时,就可以不再重新编译而是直接加载缓存中编译好的代码即可

python标准库

强大的python为我们提供里一个模块的标准库,并且模块的标准库会随着python的安装一同安装,我们只需要引用就可以应用


python常用的内置标准模块

模块名 描述 官网连接
sys 与python解释器及其环境操作相关的标准库 https://docs.python.org/3/library/sys.html#module-sys
time 提供与时间相关的各种函数的标准库 https://docs.python.org/3/library/time.html#module-time
OS 提供了访问操作系统服务功能的标准库 https://docs.python.org/3/library/os.html#module-os
calendar 提供与日期相关的各种函数的标准库 https://docs.python.org/3/library/calendar.html#module-calendar
urllib 用于读取来自网上(服务器上)的数据的标准库 https://docs.python.org/3/library/urllib.html#module-urllib
json 用于使用JSON序列化和反序列化对象 https://docs.python.org/3/library/json.html#module-json
re 用于在字符串中执行正则表达式匹配和替换 https://docs.python.org/3/library/re.html#module-re
math 提供算术运算函数的标准库 https://docs.python.org/3/library/math.html#module-math
decimal 用于进行精确控制运算精度、有效数位和四舍五入操作的十进制运算 https://docs.python.org/3/library/decimal.html#module-decimal
shutil 用于进行高级文件操作,如复制、移动和重命名等 https://docs.python.org/zh-cn/3/library/shutil.html#module-shutil
logging 提供了灵活的记录事件、错误、警告和调试信息等日志信息的功能 https://docs.python.org/zh-cn/3/library/logging.html#module-logging
tkinter 使用Python进行GUI编程的标准库 https://docs.python.org/3/library/tkinter.html#module-tkinter

第三方模块的下载与安装

由于python代码为开源,所有由很多大牛二次开发了很多牛逼的模块,便捷,功能强大。

我们可以通过pip工具安装python所需要的环境包

pip list           #列出已安装的包
pip install xxx #安装要安装的包
pip install django==.1.1.5 #安装特定版本
pip freeze > environment.txt #导出python的环境
pip install -r environment.txt #从导出的python环境中安装所需要的包
pip uninstall -r environment.txt #卸载导出的python环境中的包
pip install -U <包名> #升级包
pip show -f <包名> #显示包所在的目录
pip search <搜索关键字> #搜索包
pip list -o #查询可升级的包
pip install <包名> -d <目录> 或 pip install -d <目录> -r environment.txt #下载包而不安装


python——模块、标准库、第三方模块安装的更多相关文章

  1. Python OS模块标准库的系统接口及操作方法

    Python OS模块标准库的系统接口及操作方法 os.name 返回当前操作系统名,定义了'posix','nt','mac','os2','ce','java'(我使用win7/python3.1 ...

  2. [python标准库]Pickle模块

    Pickle-------python对象序列化 本文主要阐述以下几点: 1.pickle模块简介 2.pickle模块提供的方法 3.注意事项 4.实例解析 1.pickle模块简介 The pic ...

  3. [python标准库]XML模块

    1.什么是XML XML是可扩展标记语言(Extensible Markup Language)的缩写,其中的 标记(markup)是关键部分.您可以创建内容,然后使用限定标记标记它,从而使每个单词. ...

  4. Python 标准库 ConfigParser 模块 的使用

    Python 标准库 ConfigParser 模块 的使用 demo #!/usr/bin/env python # coding=utf-8 import ConfigParser import ...

  5. Python标准库——collections模块的Counter类

    1.collections模块 collections模块自Python 2.4版本开始被引入,包含了dict.set.list.tuple以外的一些特殊的容器类型,分别是: OrderedDict类 ...

  6. Python 3标准库 第十四章 应用构建模块

    Python 3标准库 The Python3 Standard Library by  Example -----------------------------------------第十四章   ...

  7. python常用标准库(os系统模块、shutil文件操作模块)

    常用的标准库 系统模块 import os 系统模块用于对系统进行操作. 常用方法 os模块的常用方法有数十种之多,本文中只选出最常用的几种,其余的还有权限操作.文件的删除创建等详细资料可以参考官方文 ...

  8. python常用标准库(math数学模块和random随机模块)

    常用的标准库 数学模块 import math ceil -- 上取整 对一个数向上取整(进一法),取相邻最近的两个整数的最大值. import math res = math.ceil(4.1) p ...

  9. Python学习手册之__main__ 模块,常用第三方模块和打包发布

    在上一篇文章中,我们介绍了 Python 的 元组拆包.三元运算符和对 Python 的 else 语句进行了深入讲解,现在我们介绍 Python 的 __main__ 模块.常用第三方模块和打包发布 ...

  10. Python的标准库介绍与常用的第三方库

    Python的标准库介绍与常用的第三方库 Python的标准库: datetime:为日期和时间的处理提供了简单和复杂的方法. zlib:以下模块直接支持通用的数据打包和压缩格式:zlib,gzip, ...

随机推荐

  1. ASP.NET Core路由中间件[3]: 终结点(Endpoint)

    到目前为止,ASP.NET Core提供了两种不同的路由解决方案.传统的路由系统以IRouter对象为核心,我们姑且将其称为IRouter路由.本章介绍的是最早发布于ASP.NET Core 2.2中 ...

  2. 看图知义,Winform开发的技术特点分析

    整理一下自己之前的Winform开发要点,以图文的方式展示一些关键性的技术特点,总结一下. 1.主体界面布局 2.权限管理系统 3.工作流模块 4.字典管理 5.通用的附件管理模块 6.系统模块化开发 ...

  3. HIve中 datediff,date_add和date_sub的用法

    1.日期比较函数:datediff语法:datediff(string enddate,string startdate) 返回值:int 说明:返回结束日期减去开始日期的天数. 例如: hive&g ...

  4. Scaled-YOLOv4 快速开始,训练自定义数据集

    代码: https://github.com/ikuokuo/start-scaled-yolov4 Scaled-YOLOv4 代码: https://github.com/WongKinYiu/S ...

  5. 【Flutter】容器类组件之Scaffold、TabBar、底部导航

    前言 一个完整的路由页可能会包含导航栏.抽屉菜单(Drawer)以及底部Tab导航菜单等.Flutter Material组件库提供了一些现成的组件来减少开发任务.Scaffold是一个路由页的骨架, ...

  6. 【Java基础】反射

    反射 反射的概述 反射(Reflection)是被视为动态语言的关键,反射机制允许程序在执行期借助 Reflection API 取得任何类的内部信息,并能直接操作任意对象的内部属性和方法. 加载完类 ...

  7. 【JavaWeb】Servlet 程序

    Servlet 程序 Servlet Servlet 是在 Web 服务器中运行的小型 Java 程序.Servlet 通常通过 HTTP(超文本传输​​协议)接收和响应来自 Web 客户端的请求. ...

  8. Centos7 Nginx+PHP7 配置

    Centos7 Nginx+PHP7 配置 内容: 源码编译安装Nginx和PHP 配置PHP和Nginx,实现Nginx转发到PHP处理 测试 设置Nginx.PHP开机自启 安装的版本: Ngin ...

  9. 【Oracle】权限相关

    系统权限 SELECT * FROM DBA_SYS_PRIVS WHERE GRANTEE = 'CHAXUN' UNION ALL SELECT * FROM DBA_SYS_PRIVS WHER ...

  10. RSA共模攻击

    在安恒月赛中碰到一道密码学方向的ctf题 附上源码 from flag import flag from Crypto.Util.number import * p=getPrime(1024) q= ...