1 》模块介绍:
模块,用一坨代码实现了某个功能的代码集合,类似于函数式编程和面向过程编程,函数式编程则完成一个功能,其他代码用来调用即可,提供了代码的 重用性和代码间的吻合,对于一个复杂的功能来说,可能需要多个函数才能完成(函数又可以在不同的.py文件中),n个.py文件组成的代码集合就称为模块;
如:OS是系统相关的模块;file是文件操作相关的模块;
模块分为三种:
自定义模块;
内置标准模块(又称标准库);
开源模块
自定义模块和开源模块的使用参考http://www.cnblogs.com/wupeiqi/articles/4963027.html
(1)自定义模块示例:
1>模块dj示例:
2>user_main内容:
3>handle文件内容:
4>sql_api文件内容:
5>setting文件内容:
(2)不同目录之间的模块调用:
(3)json & pickle模块:
用于序列化的两个模块;
1>json:用于字符串和python数据类型间进行转换;
json模块提供了四个功能:dumps,dump,loads,load
把字典序列化为字符串:
把字符串反序列化为字典:
2>pickle:用于python特有的类型和python的数据类型间转换;
pickle模块提供了四个功能:dumps,dump,loads,load
把字典序列化:
反序列化为字典:
3> 两者的不同之处:
pickle只能应用于python与python之间,而json则可以应用于pthon与各种语言之间;
pickle可以将函数等也可以进行序列化,json则不能;
pickle序列化之后有乱码,而json序列化之后则为字符串;
2》正则表达式基础:
import re :需要声明re模块;
示例:
1>match:是从头开始匹配的,如果开始没有的话就不会匹配到;
2>[0-9]只代表一个数字,需要重新指定匹配多少次;(匹配0到10次)
3>findall:可以把字符串中的数字都可以匹配出来;
中间有逗号,次数以0开始生成的列表:
中间没逗号,次数以1开始生成的列表:
4>匹配其中不相连的字符串:
中间没逗号,次数以1开始生成的列表:
中间有逗号,次数以0开始生成的列表:
5>search:与match相比,它寻找全部字符串中的出现的数字,而不是开头的;
6>sub:替换,d代表数字,d+代表所有的数字,d+与[0-9]的区别:
替换前两段数字或前两个数字: