模块(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中的TreeView控件中对节点的上移和下移操作

    Web中的TreeView中的没有PreNode和NextNode属性. 但它的集合属性中有一个IndexOf属性,从而能够找到它的前一个节点知后一个节点. TreeView中要么只有一个根节点:要么 ...

  2. Turtlebot3入门教程-系统-SBC软件设置(ubuntu20.04)

    本文针对如何在树莓派3上安装ubuntu20.04系统和软件进行讲解 树莓派3接上显示屏和鼠标后,开机后继续安装软件包 详细步骤如下: (1)系统安装 (2)ROS安装 (3)TurboBot3依赖的 ...

  3. Node 跨域问题 Access to XMLHttpRequest at 'http://localhost:8080/api/user/login' from origin 'http://localhost:808

    人不可能踏进同一条河流,我可以一天在同一个问题上摔倒两次. 这次是跨域问题,都是泪,教程提供的服务端代码虽然配置了文件,但是依然是没有解决跨域问题,依然报错 Request header field ...

  4. Apache的Mod_rewrite学习(RewriteRule重写规则的语法) 转

    RewriteRuleSyntax: RewriteRule Pattern Substitution [flags] 一条RewriteRule指令,定义一条重写规则,规则间的顺序非常重要.对Apa ...

  5. Label_strange_labels

    空格符号  特殊符号名 注释语句 , align = "left right center" 粗体 斜体 也可能是控制标签 上标 下标 大字号 小字号 下划线 删除线 等宽 键盘输 ...

  6. NOIP初赛篇——03中央处理器CPU

    CPU ​ CPU(中央处理单元)是微机的核心部件,是决定微机性能的关键部件.20世纪70年代微型机的CPU问世,微型计算机的核心部件微处理器从Intel 4004,80286,80386,80486 ...

  7. fatal error C1045: 编译器限制 : 链接规范嵌套太深

    前言 我相信你是遇到了同样的问题.通过搜索引擎来到这里的.为了不耽误排查问题的时间,我提前说明一下这篇文章所描述的问题范畴: 我遇到的问题和 c++ 模板相关: 如果我减少传递的参数的话,是有可能避免 ...

  8. .net core 中使用Log4net输出日志到Mysql数据库中

    .net core 中使用Log4net输出日志到数据库中去 1.使用Nuget安装log4net 和 mysql.data 2.设置log4net 的配置文件 log4net.config 可以设置 ...

  9. 【十天自制软渲染器】DAY 01:图形学学习建议与环境搭建

    推荐直接阅读博客原文,更新更及时,阅读体验更佳 「十天自制软渲染器」这个标题我承认标题党了.在对图形学一无所知的情况下想十天自制一个软渲染器,就好似一节课没上过却试图一个晚上看完<30 天精通 ...

  10. Haproxy-1.8.20 编译安装:

    1 ) haproxy-1.8.20 : # 1.1 ) 安装Haproxy的依赖关系: yum install gcc gcc-c++ glibc glibc-devel pcre pcre-dev ...