模块(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. UML第二次结对作业

    |作业要求|https://edu.cnblogs.com/campus/fzzcxy/2018SE1/homework/11250| | ---------- | ----------------- ...

  2. 【项目实践】SpringBoot三招组合拳,手把手教你打出优雅的后端接口

    以项目驱动学习,以实践检验真知 前言 一个后端接口大致分为四个部分组成:接口地址(url).接口请求方式(get.post等).请求数据(request).响应数据(response).如何构建这几个 ...

  3. 在mapper.xml映射文件中添加中文注释报错

    问题描述: 在写mapper.xml文件时,想给操作数据库语句添加一些中文注释,添加后运行报如下错误: 思考 可能是写了中文注释,编译器在解析xml文件时,未能成功转码,从而导致乱码.但是文件开头也采 ...

  4. 【SpringMVC】SpringMVC 异常处理

    SpringMVC 异常处理 文章源码 异常处理思路 系统中异常包括两类:预期异常和运行时异常,前者通过捕获异常从而获取异常信息,后者主要通过规范代码开发.测试通过手段减少运行时异常的发生. Cont ...

  5. 【C++】《C++ Primer 》第十二章

    第十二章 动态内存 目前为止,所使用的对象都有着严格定义的生存期. 全局对象在程序启动时分配,在程序结束时销毁.局部自动对象在进入其定义所在的程序块时被创建,在离开块时销毁.局部static对象在第一 ...

  6. 来不及解释!Linux常用命令大全,先收藏再说

    摘要:Linux常用命令,很适合你的. 一提到操作系统,我们首先想到的就是windows和Linux.Windows以直观的可视化的方式操作,特别适合在桌面端PC上操作执行相应的软件.相比较Windo ...

  7. 机器学习笔记·adaboost

    一.算法简介 Adaboost算法是一种集成算法,所谓集成算法就是将多个弱的分类器组合在一起变成一个强的分类器.弱分类器通常是指分类效果比随机分类稍微好一点的分类器.就像我们在做一个重要决定的时候,通 ...

  8. 对微信小程序的生命周期进行扩展 – Typescript 篇

    最近利用业余时间倒腾了一个微信小程序,主要目的是横向比较一些业界小程序平台的架构和做法.因为有在其他平台长期的开发经验,对于小程序的一些机制做了一些辩证的思考.例如,小程序的页面,其实不是一个页面,而 ...

  9. 区间合并 C++

    #include <iostream> #include <vector> #include <algorithm> using namespace std; ty ...

  10. ip访问本机vs调试项目

    环境:win10 vs2019 webapi F5启动调试. 问题:localhost可以访问,127.0.0.1和本机ip访问不了.比如想让别人浏览一下看效果,或者测试人员测试功能,每次修改都有重新 ...