目录
关联文章
《第六部分:6.1-Python之基本操作+Python常见的运算》
《第六部分-练习题2:使用递归-模块-自定义函数(8道题)》
《第六部分-练习题3:使用open()函数处理文件(3道题)》
《第六部分-练习题4:random函数生成随机数(3道题)》
《第六部分-练习题5:re正则使用统计行数-判断手机号(4道题)》
一、模块的定义
Python模块(Module),是一个Python文件,以.py结尾,包含了Python对象定义和Python语句。
把相关的代码分配到一个模块里能让你的代码更好用,更易懂。模块能定义函数,类和变量,模块里也能包含可执行的代码。
二、模块的导入
(一)import语句
语法如下:import module1,module2....moduleN
2、比如要引用模块time,就可以在文件最开始的地方用import time来引入在调用time模块中的函数时,
必须这样引用:模块名.函数名(如: time.sleep(2))
3、注意:一个模块只会被导入一次,不管你执行了多少次import,这样可以防止导入模块被一遍又一遍地执行
(二)from....import * 语句
1、这里提供了一个简单的方法来导入一个模块中的所有项目例如我们想一次性引入time模块中所有的东西
(三)from....import...语句
1、Python 的 from语句让你从模块中导入一个指定的部分到当前命名空间中语法如下:
from modname import name1,name2...nameN
2、要导入time模块的sleep函数,使用如下语句:from time import sleep
3、要导入time模块中的sleep函数并取别名,使用如下语句:from time import sleep as s
#模块的导入方式--------------------------------------------------------
#第一种导入方式
import time #使用import关键字导入time模块
print(time.time())
# 第二种导入方式
from time import time #通过time模块导入模块下的time()函数
print(time)
# 第三种导入方式
from time import * #通过time模块导入模块下所有的内容
print(time())
print(ctime())
# 第四种导入方式(导入模块或者具体的函数,并且给他们取个别名)
from time import time as a
from time import sleep as s
print(a())
print(s(3)) #睡3秒
# 第五种导入方式
from pythonWork.test import fun2 #通过包名.模块名导入模块
print(fun2())
三、time模块
(一)time模块中常见的方法:
time模块中常见的方法 | |
模块 | 介绍 |
time() | 1970到现在的经过的秒数 |
ctime() | 固定格式的当前时间 |
sleep(3) | ―#休眠单位是秒 |
sctime() | 转换为asc码显示当前时间 |
strftime() | 时间格式化 |
#random函数--------------------------------------------------------
import random
print(random.random()) #该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1
print(random.randint(0,9)) #该方法生成指定范围内整数,包括开始和结束值
print(random.randrange(1,10,2)) #生成指定范围内的1个奇数,不包括结束值
print(random.randrange(0,10,2)) #生成指定范围内的1个偶数,不包括结束值
#sample()函数
list1=['a','b','c','d']
print(random.sample(list1,3)) #从序列seq中选择n个随机且独立的元素
print(tuple(random.sample(list1,3)))
#choice()、choices()函数
string1=['a','b',[1,2]]
string2='abcd123*&^%$#@ABC'
print(random.choice(string1)) #字符形式:生成随机字符
print(random.choices(string1)) #列表形式:生成随机字符
#shuffle()函数:字符串、元组、字典属于不可变序列,无法进行洗牌;必须是list
random.shuffle(string1) #洗牌-ID内存地址没有改变(随机数列)
print(string1)
#hashlib.md5()函数:MD5加密
import hashlib #导入hashlib模块
md5=hashlib.md5() #通过hashlib模块中的md5()函数创建一个对象
#通过md5对象调用update函数对utf-8编码格式的字符串""123456"进行加密
md5.update('123456'.encode('utf-8')) #没有返回值
md5.update('111111'.encode('utf-8')) #没有返回值
print(md5.hexdigest()) #查看MD5对象调用hexdigest()函数生成16进制的32位的字符
四、random模块
生成随机浮点数、整数、字符串,甚至帮助你随机选择列表序列中的一个元素,打乱—组数据等
(一)random模块中常见的方法:
random模块中常见的方法 | |
模块 | 介绍 |
random.random() | 该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1 |
random.randint(x,y) | 该方法生成指定范围内整数,包括开始和结束值 |
random.randrange(x,y,step) | 生成指定范围内的奇数,不包括结束值 |
random.randrange(x,y,step) | 生成指定范围内的偶数,不包括结束值 |
random.sample(seq,n) | 从序列seq中选择n个随机且独立的元素 |
random.choice(test) | 生成随机字符 |
random.shuffle(list) | 洗牌(随机数列) |
hashlib.md5() | MD5加密 |
|
五、os模块
1、os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编程时,经常和文件、目录打交道,所以离不了os模块。
(一)os模块中常见的方法:
os模块中常见的方法 | |
模块 | 介绍 |
os.getcwd() | 获取当前执行命令所在目录 |
os.path.isfile() | 判断是否文件 |
os.path.isdir() | 判断是否是目录 |
os.path.exists() | 判断文件或目录是否存在 |
os.listdir(dirname) | 列出指定目录下的目录或文件 |
os.path.split(name) | 分割文件名与目录 |
os.path.join(path,name) | 连接目录与文件名或目录 |
os.mkdir(dir) | 创建一个目录 |
os.rename(old,new) | 更改目录名称 |
|
六、re正则模块
1、实现一个编译查找,一般在日志处理或者文件处理时用的比较多正则表达式主要用于模式匹配和替换工作。
(一)预定义字符集匹配:
预定义字符集匹配 | |
模块 | 介绍 |
\d | 数字0-9 |
\D | 非数字 |
\s | 空白字符 |
\n | 换行符 |
\r | 回车符 |
(二)re模块数量词匹配:
re模块数量词匹配 | |
模块 | 介绍 |
符号^ | 表示的匹配字符以什么开头 |
符号$ | 表示的匹配字符以什么结尾 |
符号* | 匹配*前面的字符0次或n次 |
eg | ab*能匹配a匹配ab匹配abb |
符号+ | 匹配+前面的字符1次或n次 |
符号? | 匹配?前面的字符0次或1次 |
符号{m} | 匹配前一个字符m次 |
符号{m,n} | 匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是正整数 |
(三)re模块相关函数:
re模块相关函数 | |
函数 | 介绍 |
match() | 从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败并报错注意:如果规则带了'+',则匹配1次或者多次,无'+'只匹配一次 |
search() | 从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错 |
findall() | 从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个列表"[]" |
compile() | 编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表"[]" |
七、Python中常见的模块:time模块
Python中常见的模块 | |
模块名 | 模块名 |
time模块 | hashlib模块 |
random模块 | re模块 |
os模块 | xlrd模块 |
string模块 | sys模块 |
json模块 |