本节大纲:

  1. 模块介绍
  2. time &datetime模块
  3. random
  4. os
  5. sys
  6. shutil
  7. json & picle
  8. shelve
  9. xml处理
  10. yaml处理
  11. configparser
  12. hashlib
  13. subprocess
  14. logging模块
  15. re正则表达式
程序解耦:程序其他地方拆分开,降低了数据逻辑层和后台数据交互接口的关联
import sys,os
os.path.diirname(os.path.abspath(__file__)) 打印上级目录地址
模块:
1、定义
模块:本质是一个.py结尾的python文件(ps:文件名:test ,模块调用名:test),用来从逻辑上组织python代码(变量、函数、类、逻辑:本质就是为了实现一个功能)
包:本质是一个目录(必须有一个_init_.py文件),是从逻辑上组织模块
包的导入:本质都是解释__init__.py文件
2、导入方法
1。导入 import module_name1,module_name2
2。from module_name1 import * -->本质上是把module_name1的代码复制到*的当前文件的位置,文件从上到下解释执行,若文件中有相同方法会将module_name1中的方法覆盖,不建议这样写 *可以是变量、方法名
3、from module_name1 import 方法名 -->不建议使用
4、from module_name1 import 原方法名 as 别名
3、import的本质(路径搜索和搜索路径)
导入模块:本质就是将module_name1模块中所有的代码解释一遍后,赋值给module_name1变量(module_name1 = module_name1.py),import 新文件调用时要加 module_name1.变量/方法名。 from …… import * ,直接打开文件,将需要的代码直接使用,直接调用即可
导入包的文件:本质就是执行该包下的__init__.py文件
4、导入优化
避免重复检索模块下的方法,直接调用模块下的方法:
"""
import module_test
def test()
module_test.hello( ) #先检索module_test模块,再检索hello()方法
print("hello")
"""
------------------------------------------------------------------------------
from module_test import hello
def test()
hello( )
print("hello")
5、模块的分类
http://egon09.blog.51cto.com/9161406/1840425
a、标准库
1、time与datatime
在Python中,通常有这几种方式来表示时间:1)时间戳 2)格式化的时间字符串 3)元组(struct_time)共九个元素。由于Python的time模块实现主要调用C库,所以各个平台可能有所不同。
UTC(Coordinated Universal Time,世界协调时)亦即格林威治天文时间,世界标准时间。在中国为UTC+8。DST(Daylight Saving Time)即夏令时。
时间戳(timestamp)的方式:通常来说,时间戳表示的是从1970年1月1日00:00:00开始按秒计算的偏移量。我们运行“type(time.time())”,返回的是float类型。返回时间戳方式的函数主要有time(),clock()等。
元组(struct_time)方式:struct_time元组共有9个元素,返回struct_time的函数主要有gmtime(),localtime(),strptime()。下面列出这种方式元组中的几个元素
提供对操作系统进行调用的接口
-高级的 文件、文件夹、压缩包 处理模块
http://www.cnblogs.com/wupeiqi/articles/4963027.html
用于序列化的两个模块
  • json,用于字符串 和 python数据类型间进行转换,字典中的数据不能直接存在文件中,把python中的数据类型转化成字符窜,存在文件中,方便调用 解决不同平台中文件格式的互相交换
  • pickle,用于python特有的类型 和 python的数据类型间进行转换。python自己的数据间进行交换,支持所有的python数据类型
Json模块提供了四个功能:dumps、dump、loads、load
pickle模块提供了四个功能:dumps、dump、loads、load
一个简单的key,value将内存数据通过文件持久化的模块,可以持久化任何pickle可支持的python数据格式
xml是实现不同语言或程序之间进行数据交换的协议,跟json差不多,但json使用起来更简单,不过,古时候,在json还没诞生的黑暗年代,大家只能选择用xml呀,至今很多传统公司如金融行业的很多系统的接口还主要是xml。
xml的格式如下,就是通过<>节点来区别数据结构的:
修改
删除
增加
用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 hmac 模块
正则表达式
'^'     匹配字符开头,若指定flags MULTILINE,这种也可以匹配上(r"^a","\nabc\neee",flags=re.MULTILINE)
"foo$""bfoo\nsdfsf"='*'     匹配*号前的字符0次或多次,re.findall("ab*","cabb3abcbbac")  结果为['abb', 'ab', 'a']
1"ab+""ab+cd+abb+bba"'ab''abb''?'     匹配前一个字符1次或0次
'{n,m}' 匹配前一个字符n到m次,re.findall("ab{1,3}","abb abc abbcbbb") 结果'abb', 'ab', 'abb']
"abc|ABC""ABCBabcCD"'ABC'
'(...)' 分组匹配,re.search("(abc){2}a(123|456)c", "abcabca456c").group() 结果 abcabca456c
"\Aabc""alexabc"'\Z'    匹配字符结尾,同$
09
'\D'    匹配非数字
---]
'\W'    匹配非[A-Za-z0-9]
"\s+""ab\tc1\n3"'\t'
"(?P<province>[0-9]{4})(?P<city>[0-9]{2})(?P<birthday>[0-9]{4})""371481199306143242""city"'province''3714''city''81''birthday''1993'
b、开源模块
c、自定义模块

转载于:https://www.cnblogs.com/huangmx-amin/p/5809362.html

Python成长笔记 - 基础篇 (六)python模块相关推荐

  1. Python学习笔记——基础篇【第五周】——模块

    模块,用一砣代码实现了某个功能的代码集合. 类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的重用性和代码间的耦合.而对于一个复杂的功能来,可能需要多个函数才 ...

  2. Python自学笔记——基础篇

    本笔记参考视频为:https://www.bilibili.com/video/BV1ex411x7Em?p=101,有兴趣的可以直接移步B站 Python编程 Sec.1 第一个Python程序 1 ...

  3. Python读书笔记-基础篇-1.万丈高楼平地起

    随着人工智能领域的兴起,Python可以说集万千宠爱于一身,成了炽手可热的香饽饽.Python作为脚本语言,简单易上手,受到了很多编程爱好的喜爱. 编程语言是相通的,简单是一时的,任何语言的存在都有他 ...

  4. Python学习笔记——基础篇【第六周】——hashlib模块

    常用模块之hashlib模块 用于加密相关的操作,3.x里代替了md5模块和sha模块,主要提供 SHA1, SHA224, SHA256, SHA384, SHA512 ,MD5 算法 import ...

  5. Python学习笔记——基础篇【第六周】——shutil模块

    常用模块之shutil 高级的 文件.文件夹.压缩包 处理模块 shutil.copyfileobj(fsrc, fdst[, length]) 将文件内容拷贝到另一个文件中,可以部分内容 1 def ...

  6. Python学习笔记----基础篇10----模块2

    8)json& pickle 用于序列化的两个模块 json,用于处理字符串和python数据类型间进行转换 pickle,用于python特有的类型和python的数据类型间进行站换 Jso ...

  7. 扇贝编程python学习笔记-基础篇4

    Never say die. 文章目录 第六关 1.函数的参数.参数类型 2.函数中的参数 3.函数的多个返回值 4.函数的变量作用域 5.学习巩固 第六关 学习用时:35min 随堂测验+上机作业: ...

  8. 扇贝编程python无法退款_扇贝编程python学习笔记-基础篇1

    我要成为一个勤奋努力上进的人 第一关 学习用时:15min 随堂测验+上机作业:10min 随堂作业正确率:4/5 1.尝试执行代码 import random menu = ['粉丝', '炒饭', ...

  9. 扇贝编程python学习笔记-基础篇6

    恰合心意,平衡生活 寻求成长,奋起拼搏 文章目录 第八关 1.分支执行 2.布尔类型 3.布尔类型的转换 4.学习巩固 第八关 知识点复习 学习用时:30min 随堂测验+上机作业:50min 随堂作 ...

最新文章

  1. Linux之设置http代理
  2. 【笔记】MAC上使用onedrive遇到的问题及解决方法
  3. 51nod 1098 最小方差 排序+前缀和+期望方差公式
  4. Commit Monitor–svn监控工具
  5. 转载:成功应用ERP的思路和方法分析
  6. 为zsh和VIM配置一个状态提示栏
  7. 8——对象的作用域,生存期,……
  8. Django项目实践4 - Django站点管理(后台管理员)
  9. .21f## c语言,C++核心准则编译边学-F.21 如果需要返回多个输出值,最好返回结构......
  10. Alex 的 Hadoop 菜鸟教程: 第2课 hadoop 安装教程 (CentOS6 CDH分支 yum方式)
  11. 4g网络标准 计算机网络,4G网络是什么 4G LET是什么?
  12. python常见的json对象对比方法(deepdiff、json_tools、jsonpatch)
  13. win10开机桌面假死鼠标能动怎么办
  14. STM32平台下的TM1812驱动
  15. 7-2 Rank a Linked List (25 分)
  16. c语言中strcat函数的作用,strcat函数的作用是什么?
  17. linux装回win10系统无法开机,ghost win10系统安装后无法启动怎么办
  18. 微型计算机中的数据总线用来进行什么的传输,汽检2011级汽车车载网络复习题答案...
  19. SQL 为什么动不动就 N 百行以 K 计
  20. AI智能改写-文本改写人工智能

热门文章

  1. 利用神器BTrace 追踪线上 Spring Boot应用运行时信息
  2. Linux vim的w,q,!,/
  3. Lua 脚本获取 EVAL EVALSHA 命令的参数
  4. GridFS删除文件代码示例
  5. IDEA 的文件夹的类型说明
  6. 多序列比对的c语言程序,多序列比对的实际应用
  7. sonar的安装以及使用
  8. 浅谈Android中的Handler机制
  9. Qt for Python之 PySide2+QML 入门示例
  10. Java集合入门总结