当前位置: 首页 > news >正文

python之模块

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

二、模块的导入
1、import 模块名
格式:模块名.函数

案例:
import time #导入time模块
print(1)
time.sleep(10) #休眠
print(2)

2、导入所有的函数

from 模块名 import * 所有的函数

案例:
from time import * #from 模块名 import * 所有的函数
print(1)
sleep(10) #休眠 #函数名
print(ctime()) #显示当前时间
print(2)

3、指定函数导入
格式:

from 模块名 import 指定函数

from time import ctime #from 模块名 import 指定函数
print(1)

sleep(10) #休眠 #函数名

print(ctime()) #显示当前时间
print(2)

4、通过取别名来调用函数
格式:
from 包名.模块名 import 函数名 as 别名
p()
aa文件:
from bao.bb import hs as p
p()
bb文件:
def hs():
print(1)
def hs2():
print(2)

注意:
1、一个py文件中,一个模块主要导入一次,不管执行多少次,主要导入一次就ok
2、模块不调用时是置灰状态
三、模块的详解
1、time模块
案例2:
import time
print(time.time()) #1760580583.2631614 1970到现在的时间
print(time.ctime()) #Thu Oct 16 10:09:59 2025 固ti定格式显示当前时间
time.sleep(2) #休眠 ,括号内是秒数
print(time.asctime()) ##转换为asc码显示当前时间 Thu Oct 16 10:11:58 2025
print(time.strftime(" %y-%m-%d %H-%M-%S ")) #时间戳 按照格式输出时间
案例2:
from time import *
print(time()) #1760580583.2631614 1970到现在的时间
print(ctime()) #Thu Oct 16 10:09:59 2025 固ti定格式显示当前时间
sleep(2) #休眠 ,括号内是秒数
print(asctime()) ##转换为asc码显示当前时间 Thu Oct 16 10:11:58 2025
print(strftime(" %y-%m-%d %H-%M-%S ")) #时间戳 按照格式输出时间

2、random模块
生成随机浮点数、整数、字符串,从一组数据中选择数据,打乱数据
案例:
import random
print(random.random()) #0.5409081269951179 ##该方法是生成0-1之间的浮点数,但是能取到0,但是取不到1
print(random.randint(1,100))#生成指定范围内整数,包括开始和结束值
print(random.randrange(1,2)) ##生成指定范围内的数,包含开始值,不包含结束值
print(random.randrange(1,10,2))#生成指定范围内的奇数,不包括结束值
print(random.randrange(0,10,2))#生成指定范围内的偶数,不包括结束值
list1=[1,2,3,4,5,"a"]

print(random.sample(list1,3)) #选择n个随机且独立的元素

print(random.choice(list1)) ##生成随机字符

random.shuffle(list1) # #洗牌(随机数列)
print(list1)
3、string模块
import string
print(string.digits) #0123456789
print(string.hexdigits) #0123456789abcdefABCDEF
print(string.ascii_letters) #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.ascii_lowercase) #abcdefghijklmnopqrstuvwxyz
print(string.ascii_uppercase) #ABCDEFGHIJKLMNOPQRSTUVWXYZ
print(string.digits+string.ascii_letters) #0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ

作业:
1、使用random模块随机生成手机号码、自己定义手机号码开头的前1位1
案例;
import string
import random
sj=["1"]
sw=random.sample(string.digits,10)
print(sw)
案例2;
import string
import random
sj=["1"]
for i in range(10):
sj.append(random.choice(string.digits))
print("".join(sj))

2、用random模块随机生成6位数验证码
案例1:
import string
import random

print("".join(random.sample(string.digits+string.ascii_letters,6)))

y=[]
for i in range(6):
y.append(random.choice(string.digits+string.ascii_letters))
print("".join(y))
案例2:
import string
import random
print("".join(random.sample(string.digits+string.ascii_letters,6)))

print("".join(sj+sw))

4、加密模块

(1)base64加解密
import base64 #导入base64 加密模块
a=base64.b64encode(b"123456") #加密 b 二进制 密码
print(a) # b'MTIzNDU2'
b=base64.b64decode(b'MTIzNDU2')
print(b) #b'123456'
(2)md5加密,现在在hashlib模块
a、定义:md5是一种算法,可以将一个字符、文件,md5后可以生成一个固定为128bit的串,这个字符串唯一
b、python将md5归纳道hash 种
c、md5是可以将任意长度的输入,通过hash算法变成固定长度的输出,改输出就是散列值,也称摘要值,该算法就是哈希函数,也称摘要函数
import hashlib
m=hashlib.md5() #创建md5的对象
m.update(b"123456") #加密
print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e #返回16进制的字符串

面试题:
1、如果工作种有很多数据,如果数据被改动,或传递修改后,看不出?
(1)通过加密检查数据
通过加密对数据进行加密处理,生成加密字符,如果有改动,字符就不相同
(2)比对数据不一样,加密字符就不同,说明数据有问题
2、将随机生成的验证码进行加密?
import hashlib
import string
import random
yzm="".join(random.sample(string.digits+string.ascii_letters,6))
print(yzm)
m=hashlib.md5() #创建md5的对象
m.update(yzm.encode(encoding="utf-8")) #加密
print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e #返回16进制的字符串

5、os模块
os打开目录,文件,文档的操作

import os
url=r"C:\Users\Administrator\PycharmProjects\untitled\bao\bb.py"
url1=r"C:\Users\Administrator\PycharmProjects\untitled\bao"
url2=r"C:\Users\Administrator\PycharmProjects\untitled\bao22"
url3=r"C:\Users\Administrator\PycharmProjects\untitled\bao\zy.py"
print(os.getcwd()) #获取当前执行命令所在目录
print(os.path.isfile(url)) #True
print(os.path.isdir(url1)) #True
print(os.path.exists(url1)) #True
print(os.path.exists(url2)) #False
print(os.listdir(url1)) ##列出指定目录下的目录或文件
print(os.path.split(url)) ##分割文件名与目录

print(os.path.join(url1,"zs.py")) ##连接目录与文件名或目录

print(os.mkdir(url2))##创建一个目录

print(os.rename(url2,url3))

print(os.remove(url3))

6、re模块
一、re是正则匹配
1、正则表达式式一种对字符和特殊字符操作的一种逻辑公式,从特定的字符中,用正则表达字符来
过滤的逻辑;
2、正则表达式是一种文本模式
3、正则表达式可以帮助我们检查字符是否与某种模式匹配
4、re模块使python语言有全部的表达式功能
5、re表达式作用?
a、快速高效查找或分析字符比对,也叫模式匹配,比如查找、比对、替换、插入、添加
b、实现一个编译查看,一般在处理文件时用的多

二、认识re正则表达式中的特殊元素?
\d:数字0-9
\D:非数字
\s:空白字符
\n:换行符
\w 匹配字母数字
\W 匹配非字母数字
^:表示的匹配字符以什么开头
$:表示的匹配字符以什么结尾
:匹配前面的字符0次或n次 eg:ab (* 能匹配a 匹配ab 匹配abb )
+:匹配+前面的字符1次或n次
?:匹配?前面的字符0次或1次
{m}:匹配前一个字符m次
{m,n}:匹配前一个字符m到n次(包括n次),m或n可以省略,mn都是
1、findall
从第一个字符开始查找,找到全部相关匹配为止,找不到返回一个空列表[]
2、match
从第一个字符开始匹配,如果第一个字符不是要匹配的类型、则匹配失败得到一个none值

3、compile(不考虑)
编译模式生成对象,找到全部相关匹配为止,找不到返回一个列表[]
4、search
从第一个字符开始查找、一找到就返回第一个字符串,找到就不往下找,找不到则报错

7.json 模块
python字符类型和json 字符类型转换 (str)

1、dumps 将python中的字符类型字典转换成json
案例:
import json
d={"anme":"zs","age":18}
print(type(d)) #<class 'dict'>
print(d) #{'anme': 'zs', 'age': 18}
js=json.dumps(d)
print(type(js)) #<class 'str'>
print(js) #{"anme": "zs", "age": 18}

2、dump

3、loads json类型转换成python类型的字典类型
案例:
import json
d='{"anme":"zs","age":18}'
print(type(d)) #<class 'str'>
zd=json.loads(d)
print(zd)
print(type(zd)) #<class 'dict'>
4、load 将文件中json类型转换成python类型
import json
url1=r"C:\Users\Administrator\PycharmProjects\untitled\bao\abc.json"
js=json.load(open(url1,"r",encoding="utf-8"))
print(js)
print(type(js))

http://www.hskmm.com/?act=detail&tid=32430

相关文章:

  • 2025 年电动阀门厂推荐榜:电动/气动/高压/真空阀门厂,上海巨良阀门凭技术与口碑领跑行业
  • 认知与困境
  • 【学习笔记】线性基
  • x86_64架构__rdtsc指令
  • KTT
  • AT_joisc2021_c フードコート (Foodcourt)
  • SPP question regarding Issues Due To Gaming Spoofers
  • 类型安全ORM的高并发场景解决方案 - 实践
  • L06_mybatis读取MySQL数据库(懵逼版)
  • 提供给第三方接口的验证方法
  • 【2025最新】6款免费DLL修复工具推荐:彻底解决“XXX.dll缺失”问题!
  • 2025 年注浆管生产厂家最新推荐排行榜:聚焦 0.3mm 精度与国企合作案例,助力基建企业精准挑选优质供应商
  • 2025 年试验箱厂家 TOP 企业品牌推荐排行榜,氙灯老化 / 紫外老化 / 冷热冲击 / 恒温恒湿 / 高低温 / 快速温变 / 盐水喷雾 / 高温老化 / 砂尘 / 淋雨试验箱公司推荐!
  • 系统修复
  • 什么是vibe ?
  • 2025年10月试验箱厂家最新推荐排行榜:氙灯老化试验箱,紫外老化试验箱,冷热冲击试验箱,恒温恒湿试验箱公司推荐!
  • AI时代我们需要更多开发者:Shalini Kurapati的技术洞察
  • 新一代虚拟助手AI技术挑战赛启动
  • CSS各种选择器
  • adobe illustrator中鼠标拖动移动幅度大
  • python的字符串方法示例
  • 经典视觉跟踪算法的MATLAB实现
  • aardio 调用vb函数
  • 2025年玻璃杯趋势:某某科技圆润咖啡杯引领健康饮水新潮流
  • 2025 年密封线优质厂家最新推荐榜:权威甄选螺纹、高强度等多类型密封线质量与技术双优企业液态/亚麻/防腐/耐高温密封线厂家推荐
  • 微算法科技(MLGO)发布隐私与能量感知联盟博弈算法,重塑边缘摄像头网络架构,推动物联网智能演进
  • adobe illustrator中设置键盘增量
  • 焦虑
  • 从此,不再开口就紧张
  • 基于Qt实现百度地图路径规划功能