IT数码 购物 网址 头条 软件 日历 阅读 图书馆
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
图片批量下载器
↓批量下载图片,美女图库↓
图片自动播放器
↓图片自动播放器↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁
 
   -> Python知识库 -> 多测师拱墅校区肖sir_高级金牌讲师_python之模块 -> 正文阅读

[Python知识库]多测师拱墅校区肖sir_高级金牌讲师_python之模块

python之模块
一、模块的介绍
(1)python模块,是一个python文件,以一个.py文件,包含了python对象定义和pyhton语句
(2)python对象定义和python语句
(3)模块让你能够有逻辑地组织你的python代码段。
(4)把相关的代码分配到一个模块里能让你的代码更好用,更易懂
(5)模块能定义函数,类和变量,模块里也能包含可执行的代码

二、模块的导入
注意点:
(1)一个模块只要导入一次,不管你执行多少次import,一次就可以
(2)模块不调用时是置灰状态

1、
格式:import 模块名
使用:模块名.函数名
案例:
import time
print(1)
time.sleep(5) #休眠
print(2)
在这里插入图片描述

2、from 包名.模块名 import * (*表示所有的函数)
from bao.aa import *
案例:
aa模块
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)

bb模块:
from bao.aa import *
gs()
gs1()
gs2()
在这里插入图片描述
3、from 包名.模块名 import 函数名 (*表示所有的函数)
案例:
aa文件:
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)

bb文件:
from bao.aa import gs
gs()

在这里插入图片描述

4、
通过取别名来调用函数
格式:from 模块名 import 函数名 as 别名

案例:
aa模板
def gs():
print(1)
def gs1():
print(2)
def gs2():
print(3)bb模块:

from bao.aa import gs as b
b()
在这里插入图片描述

=============================================
模块讲解:

一、time模块
import time
#1970年到现在经过的秒数
print(time.time()) #1651200498.799537
print(time.ctime()) #固定格式的当前时间
print(time.sleep(3)) # 休眠,也是强制等待
print(time.asctime()) #转化为asc码显示当前时间
print(time.strftime(“%H-%M-%S %y-%m-%d”))

==============================================
二、random模块
生成随机浮点数,帧数,字符串,甚至帮助你随机选择列表中的一个元素,打乱一组数据等;
from random import *
print(random()) #生成0-1之间的浮点数,但是能取到0,不能取到1
print(randint(1,100)) #生成指定范围内整数,包括开始值和结束值
print(randrange(1,100,2)) # 生成指定范围内的奇数
print(randrange(0,100,2)) #生成指定范围内的偶数
f=[1,2,3,6,7,2]
print(sample(f,3)) #生成从一个固定集合中选n个数随机
print(choice(f)) #随机生成一个字符
shuffle(f)
print(list(f))

==============================================
string 模块
print(string.digits) #0123456789 所有的数据
print(string.hexdigits) #0123456789abcdefABCDEF
print(string.ascii_uppercase) #ABCDEFGHIJKLMNOPQRSTUVWXYZ #所有的小写
print(string.ascii_lowercase) #abcdefghijklmnopqrstuvwxyz #所有小写

==============================================
作业:
案例1:使用random模块随机生成手机号码、自己定义手机号码开头的前三位
方法1:
sz=string.digits
sj=[‘159’]
for i in range(8):
s=choice(sz)
sj.append(s)
print(‘’.join(sj))

方法2:
from random import *
import string
sz=string.digits
a=sample(sz,8)
b=(‘’.join(a))
sj=input(‘前三位:’)
print(sj+b)

方法3:
from random import *
import string
sz=string.digits
a=sample(sz,8)
b=(‘’.join(a))
sz=‘159’
print(sz+b)

方法4:
from random import *
import string
sz=string.digits
a=sample(sz,8)
sz=[1,5,9]
sz.extend(a)
for i in sz:
print(i,end=‘’)

==============================================

2、用random模块随机生成6位数验证码

方法1:
from random import *
a=[]
for i in range(6):
b=str(randint(0,9))
a.append(b)
print(‘’.join(a))

方法2:
from random import *
import string
d=string.digits+string.ascii_uppercase+string.ascii_lowercase
print(d)
for i in range(6) :
s=choice(d)
print(s, end=‘’)
方法3:
import random
import string
yzm=string.digits+string.ascii_uppercase+string.ascii_lowercase

print(yzm)

a=random.sample(yzm,6)
print(‘’.join(a))

方法4:
a=[]
for i in range(6):
rand_num=random.randint(0,9)
a.append(str(rand_num))
print(‘’.join(a))
方法5:
import random
import string
print(‘’.join(random.sample(string.digits+string.ascii_lowercase,6)))

方法6:
from random import *
import string
def kk():
a=string.digits+string.ascii_uppercase+string.ascii_lowercase
k=[]
for i in range(6):
k.append(choice(a))
s=‘’.join(k)
return s
code=kk()
print(code)
def hh():
login=input(str(‘请输入上方验证码登录:’))
if login==code:
print(‘登录成功’)
else:
print(‘登录失败’)
hh()

===========================================
加密模块:
import hashlib

base64
MD5

一、加密算法
md5、rsa、AES ,DES.BASE
DES 以64位为分组队数据加密,加密和解密是同一算法‘;
rsa加密 算法:是一种非对称加密算法(在公开秘钥加密和电子商业中rsa被广泛使用)
AES rijndael 加密法对称加密中最流行的算法之一(AES为分组密码)

===================================

案例:

#base64加密
import base64
a=base64.b64encode(b"123456")
print(a) #b’MTIzNDU2’
#base64解密
b=base64.b64decode(b"MTIzNDU2")
print(b) #b’123456’
备注:base64 编码包含ascll是包含字符,二是二进制数据

===================================
MD5加密

(1)md5 是一种算法,可以将一个字符串或文件,md5后,就可以生成一个固定为128bit的串,这个串,基本上唯一;
(2)python2中有md5
(3)python将MD5 归纳到hash 模块,译作:‘散列’,直译为‘哈希’。
(4)md5 可以把任意长度的输入,通过种hash算法,变换成固定长度的输出,该输出就是散列值,也称摘要值,,改算法就是哈希函数,也称摘要函数。(5)md5 是最常见的摘要算法,速度快,生成结果是固定16字节,通常用32位的16进制字符串表示。
(5)hash模块中包含MD5、sha1 ,sha256 ,sha512,等
(6)摘要;hash.digest() 返回摘要,作为二进制数据字符串值;
hash.hexdigeest 返回摘要,作为16进制数据字符串值
(7)案例1:
import hashlib
m=hashlib.md5() # 创建MD5对象
m.update(b"123456")
print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e

十六直径转换输出

备注:
1、python中md5要加上b,python2不需要
2、md5 不能范姐,但是加密是固定,关系是一一对应,可以被对撞。

案例1
import hashlib
m=hashlib.sha384()
m.update(b’123456’)
print(m.hexdigest())

案例2
import hashlib
m=hashlib.sha256()
m.update(b’123456’)
print(m.hexdigest())
案例:
import hashlib
m=hashlib.sha512()
m.update(b’123456’)
print(m.hexdigest())

-==================================
面试题:
(1)如果在工作中有很多数据,如果数据被改动,或传递别修改,看不出?
a、通过加密检查数据
通过加密对数据进行加密处理,生成加密字符,如果有改动,字符就不相同
b、比对数据不一样,如果加密的字符不相同,说明两个数据不一致

=================================
作业:
通过md5加密算法把随机生成的6位数验证码进行加密返回16进制的字符串

===================================
os模块:

os模块提供了多数操作系统的功能接口函数。当os模块被导入后,它会自适 应于不同的操作系统平台,根据不同的平台进行相应的操作,在python编 程时,经常和文件、目录打交道,所以离不了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) #更改目录名称
os.remove() 删除文件

===========================
固定格式:
场景一:获取当前操作对象中的的的一个项目的绝对路径固定语法
import os
#获取项目路径
p=os.path.abspath(os.path.dirname(os.getcwd()))
print§

#获取当前文件的绝对路径,直接通过spliit对目录和文件进行分割
file_path=os.path.split(os.path.realpath(file))
print(file_path)
#(‘C:\Users\Administrator\PycharmProjects\gs1\bao’, ‘python006.py’)
#获取当前文件的绝对路径,直接通过spliit对目录
file_path=os.path.split(os.path.realpath(file))[0]
print(file_path)
#获取当前文件的绝对路径,直接通过spliit对目录
file_path1=os.path.split(os.path.realpath(file))[1]
print(file_path1)

#获取项目的绝对路径
v=os.path.dirname(os.path.dirname(file))
print(v)

#项目路径和包进行拼接
hz_path=os.path.join(v,‘ss.txt’)
print(hz_path) #C:/Users/Administrator/PycharmProjects/gs1\ss.txt

  Python知识库 最新文章
Python中String模块
【Python】 14-CVS文件操作
python的panda库读写文件
使用Nordic的nrf52840实现蓝牙DFU过程
【Python学习记录】numpy数组用法整理
Python学习笔记
python字符串和列表
python如何从txt文件中解析出有效的数据
Python编程从入门到实践自学/3.1-3.2
python变量
上一篇文章      下一篇文章      查看所有文章
加:2022-05-01 15:42:14  更:2022-05-01 15:42:49 
 
开发: C++知识库 Java知识库 JavaScript Python PHP知识库 人工智能 区块链 大数据 移动开发 嵌入式 开发工具 数据结构与算法 开发测试 游戏开发 网络协议 系统运维
教程: HTML教程 CSS教程 JavaScript教程 Go语言教程 JQuery教程 VUE教程 VUE3教程 Bootstrap教程 SQL数据库教程 C语言教程 C++教程 Java教程 Python教程 Python3教程 C#教程
数码: 电脑 笔记本 显卡 显示器 固态硬盘 硬盘 耳机 手机 iphone vivo oppo 小米 华为 单反 装机 图拉丁

360图书馆 购物 三丰科技 阅读网 日历 万年历 2024年11日历 -2024/11/15 16:44:09-

图片自动播放器
↓图片自动播放器↓
TxT小说阅读器
↓语音阅读,小说下载,古典文学↓
一键清除垃圾
↓轻轻一点,清除系统垃圾↓
图片批量下载器
↓批量下载图片,美女图库↓
  网站联系: qq:121756557 email:121756557@qq.com  IT数码