找回密码
 立即注册

推荐阅读

  • 便民服务
  • 关注我们
  • 社区新手
1、模块的定义
1)包和目录的区别:包和模块是可以被其他模块导入,但是目录不能导入
2)新建一个包,里面默认有一个__init__.py 这个是一个模块,用来初始化当前包的内容
3)有__init__.py 模块的称为包
4)python 中分为自带模块和自建模块
2、导入模块
1)import 语句  模块定义好后,可以使用 import 语句来引入模块
import time
time模块中常见的方法:
time() #1970到现在的经过的秒数
print(time.time())     #1661678300.2819772  通过莫名点函数名
# ctime() #固定格式的当前时间
print(time.ctime())    #Sun Aug 28 17:20:19 2022
# sleep(3) #休眠 单位是秒
time.sleep(3)      #线程等待3s
# asctime() #转换为asc码显示当前时间
print(time.asctime())        #Sun Aug 28 17:21:48 2022
# strftime() #时间格式化
print(time.strftime('%y-%m-%d-%H-%M-%S'))       #22-08-28-17-24-22
2)from ...import ...语句     通过模块名导入函数
from time import time        #从time模块中导入time函数
from time import sleep       #从time模块中导入sleep函数
from time import ctime       #从time模块中导入ctime函数

print(time())
print(ctime())
sleep(3)
3)from ... import *  #导入模块中 类 函数 常量  变量 方法
from time  import  *      #导入time模块中所有
print(time())
sleep(3)
4)第四种导入方法 通过取别名
from time import sleep as s
from time import ctime as c
s(3)
print(c())
5)并列导入多个模块
import time,os,sys,json
6)跨包导入模块
from dcs9.test import *        #通过包名点模块名  *号表示所有
3、python 中的random模块
import random
#random模块中常见的方法:
#random.random() #该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1
print(random.random())      #0.7771878431950064
random.randint(x,y) #该方法生成指定范围内整数,包括开始和结束值 只会打印一个出来
print(random.randint(1,5))
#random.randrange(x,y,step) #生成指定范围内的奇数,不包括结束值
print(random.randrange(1,10,2))   #取奇数 取不到10
random.randrange(x,y,step) #生成指定范围内的偶数,不包括结束值
print(random.randrange(0,10,2))   #取偶数
random.sample(seq,n) #从序列seq中选择n个随机且独立的元素
list1 = ['test','dcs',888,666]
print(random.sample(list1,3))     #['dcs', 888, 666]
random.choice(test) #生成随机字符
str1 = '!@#$%&*'
print(random.choice(str1))
random.shuffle(list) #洗牌(随机数列)
list1 = ['test','dcs',888,666]
random.shuffle(list1)
print(list1)
hashlib.md5() #MD5加密
import hashlib       #导入hashlib
md5 = hashlib.md5()         #通过hashlib模块调用md5函数赋给MD5对象进行加密
md5.update('123456'.encode('utf-8'))       #通过md5对象调用update函数对123456进行加密
print(md5.hexdigest())    #通过调用hexdigest()函数生成一个16进制32位的字符串
#e10adc3949ba59abbe56e057f20f883e
练习题 封装在函数里面
1、使用random 模块随机生成手机号、自己定义手机号开头的前三位
import random
import string
def test():
list1 = ['139']
num = string.digits
for i in range(8):
list1.append(random.choice(num))     #循环8次,每次随机取一个放到列表中
print(''.join(list1))
test()
2、用random 模块随机生成6位验证码
import random
import string
def code():
num = string.digits+string.ascii_letters
return (''.join(random.sample(num,6)))         #这个返回的是一个列表
print(code())
3、通过md5 加密算法把随机生成的6位验证码进行加密
import hashlib
def encode():
t = code()       #函数的传递
md5 = hashlib.md5()
md5.update(t.encode('utf-8'))
print(md5.hexdigest())

encode()    #3732eefe21da2b703e1e8fa298e54964
import string
num1 = string.digits
num2  = string.ascii_letters
print(num1,num2)     #0123456789 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
4、python中的os模块
import os
os模块中常见的方法:
os.getcwd()获取当前执行命令所在目录
print(os.getcwd())        #C:\my_project\dcs\dcs9
os.path.isfile()判断是否文件
print(os.path.isfile('C:\my_project\dcs\dcs9\lesson7.py'))   #True
os.path.isdir() #判断是否是目录
print(os.path.isdir('C:\my_project\dcs\dcs9'))   #True
os.path.exists() #判断文件或目录是否存在
print(os.path.exists('C:\my_project\dcs\dcs9\lesson7.py'))   #True
os.listdir(dirname) #列出指定目录下的目录或文件(重要)   返回一个列表
print(os.listdir(r'D:\gongju\ant\apache-ant-1.9.7'))
os.path.split(name) #分割文件名与目录
print(os.path.split(r'C:\my_project\dcs\dcs9\test'))   #('C:\my_project\dcs\dcs9', 'test')
os.path.join(path,name) #连接目录与文件名或目录
print(os.path.join('C:\my_project\dcs\dcs9','test'))     #C:\my_project\dcs\dcs9\test
os.mkdir(dir) #创建一个目录
os.mkdir('C:\my_project\dcs\dcs9\lesson8')
os.rename(old,new) #更改目录名称
os.rename('C:\my_project\dcs\dcs9\lesson8','C:\my_project\dcs\dcs9\lesson9')
5、python 中正则模块 re
实现一个编译查找,一般在日志处理或者文件处理时用的比较多
正则表达式主要用于模式匹配和替换工作。
预定义字符集匹配:
\d:数字0-9
\D:非数字
re模块数量词匹配:
符号^:表示的匹配字符以什么开头
符号$:表示的匹配字符以什么结尾
符号*:匹配*前面的字符0次或n次
eg:ab * 能匹配a 匹配ab 匹配abb
符号+:匹配+前面的字符1次或n次
符号?:匹配?前面的字符0次或1次
符号{m}:匹配前一个字符m次
符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是 正整数
import re
1、match 从第一个字符开始匹配,如果第一个字符不是要匹配的类型、
则匹配失败并报错 注意:如果规则带了'+',则匹配1次或者多次,无'+'只匹配一次
str1 = re.match('\d','1234wwwweerrr')     #1
str1 = re.match('\d','q1234wwwweerrr')    #报错
str1 = re.match('\d*','1234wwwweerrr')      #1234
str1 = re.match('\d+','1234wwwweerrr')      ##1234
str1 = re.match('\d?','1234wwwweerrr')       #1
str1 = re.match('\d+','q1234wwwweerrr')   #报错
str1 = re.match('\d*','q1234wwwweerrr')   #空 *号可以匹配0次或n次
str1 = re.match('\d?','a1234wwwweerrr')    #空 ?号可以0次或者1次
str1 = re.match('\d{2}','1234wwwweerrr')   #12
str1 = re.match('\d{2,13}','1234wwwweerrr')  #1234
str1 = re.match('^2\d','2234wwwweerrr')     #22
str1 = re.match('1\D{1,3}','1234wwwweerrr')  #报错
str1 = re.match('1\D{1,3}','1wwwweerrr')       #1www
str1 = re.match('^1[35][36789]\d{8}$','15366668888')
str1 = re.match('^1[a-z][A-Z]\d{8}','1aA66668888')   #1aA66668888
print(str1.group())
2、search 从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,
找不到则报错
str1 = re.search ('\d','1234werttt')   #1
str1 = re.search('\d+','1234werttt')   #1234
str1 = re.search('\d*','1234werttt')    #1234
str1 = re.search('\d','a1234werttt')     #1   【search 有穿透功能】
str1 = re.search('\d','awerttt')        #报错
str1 = re.search('\d+','a1234werttt')     #1234
str1 = re.search('\d?','awerttt')         #空
str1 = re.search('\d*','awerttt')         #空
print(str1.group())
3、findall 从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个列表[]
str1 = re.findall('\d','123qetrtr234')    #['1', '2', '3', '2', '3', '4']
str1 = re.findall('\d+','123qetrtr234')   #['123', '234']
str1 = re.findall('\D+','123qetrtr234www') #['qetrtr', 'www']
str1 = re.findall('error','acbderroracbderror')   #['error', 'error']
str1 = re.findall('dcs(.+)dcs','dcsonedcsone')    #['one']
#['one']有小括号只会匹配小括号的内容,里面点表示所有,+ 多次
str1 = re.findall('value.+)','value:dcsonedcs')  #['dcsonedcs']
str1 = re.findall('python','dcsonedcs')     #[]
print(str1)
4、compile 编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]
str1 = re.compile('error')
str2 = str1.findall('123error123')
print(str2)   #['error']
3、python 中的random模块
import random
#random模块中常见的方法:
#random.random() #该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1
print(random.random())      #0.7771878431950064
random.randint(x,y) #该方法生成指定范围内整数,包括开始和结束值 只会打印一个出来
print(random.randint(1,5))
#random.randrange(x,y,step) #生成指定范围内的奇数,不包括结束值
print(random.randrange(1,10,2))   #取奇数 取不到10
random.randrange(x,y,step) #生成指定范围内的偶数,不包括结束值
print(random.randrange(0,10,2))   #取偶数
random.sample(seq,n) #从序列seq中选择n个随机且独立的元素
list1 = ['test','dcs',888,666]
print(random.sample(list1,3))     #['dcs', 888, 666]
random.choice(test) #生成随机字符
str1 = '!@#$%&*'
print(random.choice(str1))
random.shuffle(list) #洗牌(随机数列)
list1 = ['test','dcs',888,666]
random.shuffle(list1)
print(list1)
hashlib.md5() #MD5加密
import hashlib       #导入hashlib
md5 = hashlib.md5()         #通过hashlib模块调用md5函数赋给MD5对象进行加密
md5.update('123456'.encode('utf-8'))       #通过md5对象调用update函数对123456进行加密
print(md5.hexdigest())    #通过调用hexdigest()函数生成一个16进制32位的字符串
#e10adc3949ba59abbe56e057f20f883e
练习题 封装在函数里面
1、使用random 模块随机生成手机号、自己定义手机号开头的前三位
import random
import string
def test():
list1 = ['139']
num = string.digits
for i in range(8):
list1.append(random.choice(num))     #循环8次,每次随机取一个放到列表中
print(''.join(list1))
test()
2、用random 模块随机生成6位验证码
import random
import string
def code():
num = string.digits+string.ascii_letters
return (''.join(random.sample(num,6)))         #这个返回的是一个列表
print(code())
3、通过md5 加密算法把随机生成的6位验证码进行加密
import hashlib
def encode():
t = code()       #函数的传递
md5 = hashlib.md5()
md5.update(t.encode('utf-8'))
print(md5.hexdigest())

encode()    #3732eefe21da2b703e1e8fa298e54964
import string
num1 = string.digits
num2  = string.ascii_letters
print(num1,num2)     #0123456789 abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
4、python中的os模块
import os
os模块中常见的方法:
os.getcwd()获取当前执行命令所在目录
print(os.getcwd())        #C:\my_project\dcs\dcs9
os.path.isfile()判断是否文件
print(os.path.isfile('C:\my_project\dcs\dcs9\lesson7.py'))   #True
os.path.isdir() #判断是否是目录
print(os.path.isdir('C:\my_project\dcs\dcs9'))   #True
os.path.exists() #判断文件或目录是否存在
print(os.path.exists('C:\my_project\dcs\dcs9\lesson7.py'))   #True
os.listdir(dirname) #列出指定目录下的目录或文件(重要)   返回一个列表
print(os.listdir(r'D:\gongju\ant\apache-ant-1.9.7'))
os.path.split(name) #分割文件名与目录
print(os.path.split(r'C:\my_project\dcs\dcs9\test'))   #('C:\my_project\dcs\dcs9', 'test')
os.path.join(path,name) #连接目录与文件名或目录
print(os.path.join('C:\my_project\dcs\dcs9','test'))     #C:\my_project\dcs\dcs9\test
os.mkdir(dir) #创建一个目录
os.mkdir('C:\my_project\dcs\dcs9\lesson8')
os.rename(old,new) #更改目录名称
os.rename('C:\my_project\dcs\dcs9\lesson8','C:\my_project\dcs\dcs9\lesson9')
5、python 中正则模块 re
实现一个编译查找,一般在日志处理或者文件处理时用的比较多
正则表达式主要用于模式匹配和替换工作。
预定义字符集匹配:
\d:数字0-9
\D:非数字
re模块数量词匹配:
符号^:表示的匹配字符以什么开头
符号$:表示的匹配字符以什么结尾
符号*:匹配*前面的字符0次或n次
eg:ab * 能匹配a 匹配ab 匹配abb
符号+:匹配+前面的字符1次或n次
符号?:匹配?前面的字符0次或1次
符号{m}:匹配前一个字符m次
符号{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是 正整数
import re
1、match 从第一个字符开始匹配,如果第一个字符不是要匹配的类型、
则匹配失败并报错 注意:如果规则带了'+',则匹配1次或者多次,无'+'只匹配一次
str1 = re.match('\d','1234wwwweerrr')     #1
str1 = re.match('\d','q1234wwwweerrr')    #报错
str1 = re.match('\d*','1234wwwweerrr')      #1234
str1 = re.match('\d+','1234wwwweerrr')      ##1234
str1 = re.match('\d?','1234wwwweerrr')       #1
str1 = re.match('\d+','q1234wwwweerrr')   #报错
str1 = re.match('\d*','q1234wwwweerrr')   #空 *号可以匹配0次或n次
str1 = re.match('\d?','a1234wwwweerrr')    #空 ?号可以0次或者1次
str1 = re.match('\d{2}','1234wwwweerrr')   #12
str1 = re.match('\d{2,13}','1234wwwweerrr')  #1234
str1 = re.match('^2\d','2234wwwweerrr')     #22
str1 = re.match('1\D{1,3}','1234wwwweerrr')  #报错
str1 = re.match('1\D{1,3}','1wwwweerrr')       #1www
str1 = re.match('^1[35][36789]\d{8}$','15366668888')
str1 = re.match('^1[a-z][A-Z]\d{8}','1aA66668888')   #1aA66668888
print(str1.group())
2、search 从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,
找不到则报错
str1 = re.search ('\d','1234werttt')   #1
str1 = re.search('\d+','1234werttt')   #1234
str1 = re.search('\d*','1234werttt')    #1234
str1 = re.search('\d','a1234werttt')     #1   【search 有穿透功能】
str1 = re.search('\d','awerttt')        #报错
str1 = re.search('\d+','a1234werttt')     #1234
str1 = re.search('\d?','awerttt')         #空
str1 = re.search('\d*','awerttt')         #空
print(str1.group())
3、findall 从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个列表[]
str1 = re.findall('\d','123qetrtr234')    #['1', '2', '3', '2', '3', '4']
str1 = re.findall('\d+','123qetrtr234')   #['123', '234']
str1 = re.findall('\D+','123qetrtr234www') #['qetrtr', 'www']
str1 = re.findall('error','acbderroracbderror')   #['error', 'error']
str1 = re.findall('dcs(.+)dcs','dcsonedcsone')    #['one']
#['one']有小括号只会匹配小括号的内容,里面点表示所有,+ 多次
str1 = re.findall('value.+)','value:dcsonedcs')  #['dcsonedcs']
str1 = re.findall('python','dcsonedcs')     #[]
print(str1)
4、compile 编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]
str1 = re.compile('error')
str2 = str1.findall('123error123')
print(str2)   #['error']




分享至 : QQ空间
收藏

0 个回复

您需要登录后才可以回帖 登录 | 立即注册