python之模块一、模块的介绍组织python1、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 pp()bb文件def hs():print(1)def hs2():print(2)注意1、一个py文件中一个模块主要导入一次不管执行多少次主要导入一次就ok2、模块不调用时是置灰状态三、模块的详解1、time模块案例2import timeprint(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 2025print(time.strftime( %y-%m-%d %H-%M-%S )) #时间戳 按照格式输出时间案例2from 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 2025print(strftime( %y-%m-%d %H-%M-%S )) #时间戳 按照格式输出时间2、random模块生成随机浮点数、整数、字符串从一组数据中选择数据打乱数据案例import randomprint(random.random()) #0.5409081269951179 ##该方法是生成0-1之间的浮点数但是能取到0但是取不到1print(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 stringprint(string.digits) #0123456789print(string.hexdigits) #0123456789abcdefABCDEFprint(string.ascii_letters) #abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZprint(string.ascii_lowercase) #abcdefghijklmnopqrstuvwxyzprint(string.ascii_uppercase) #ABCDEFGHIJKLMNOPQRSTUVWXYZprint(string.digitsstring.ascii_letters) #0123456789abcdefghijklmnopqrstuvwxyzABCDEFGHIJKLMNOPQRSTUVWXYZ作业1、使用random模块随机生成手机号码、自己定义手机号码开头的前1位1案例1;import stringimport randomsj[1]for i in range(10):sj.append(random.choice(string.digits))print(.join(sj))案例3import random,stringnumsrandom.sample(string.digits,10)number1 .join(nums)print(number)2、用random模块随机生成6位数验证码案例2import stringimport random# print(.join(random.sample(string.digitsstring.ascii_letters,6)))y[]for i in range(6):y.append(random.choice(string.digitsstring.ascii_letters))print(.join(y))案例2import stringimport randomprint(.join(random.sample(string.digitsstring.ascii_letters,6)))print(.join(sjsw))4、加密模块bs64、md5 两种方式在线加密网站1base64加解密import base64 #导入base64 加密模块abase64.b64encode(b123456) #加密 b 二进制 密码print(a) # bMTIzNDU2bbase64.b64decode(bMTIzNDU2)print(b) #b1234562md5加密现在在hashlib模块a、定义md5是一种算法可以将一个字符、文件md5后可以生成一个固定为128bit的串这个字符串唯一b、python将md5归纳道hash 种c、md5是可以将任意长度的输入通过hash算法变成固定长度的输出改输出就是散列值也称摘要值该算法就是哈希函数也称摘要函数import hashlibmhashlib.md5() #创建md5的对象m.update(b123456) #加密print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e #返回16进制的字符串面试题:1、如果工作种有很多数据如果数据被改动或传递修改后看不出1通过加密检查数据通过加密对数据进行加密处理生成加密字符如果有改动字符就不相同2比对数据不一样加密字符就不同说明数据有问题2、将随机生成的验证码进行加密import hashlibimport stringimport randomyzm.join(random.sample(string.digitsstring.ascii_letters,6))print(yzm)mhashlib.md5() #创建md5的对象m.update(yzm.encode(encodingutf-8)) #加密print(m.hexdigest()) #e10adc3949ba59abbe56e057f20f883e #返回16进制的字符串5、os模块os打开目录文件文档的操作import os# print(os.getcwd()) #获取当前相对路径C:\Users\Administrator\PycharmProjects\PythonProject\hz85# print(os.path.abspath(__file__)) #获取绝对路径# print(os.path.dirname(os.path.dirname((__file__)))) # 获取项目路径# url1rC:\Users\Administrator\PycharmProjects\PythonProject\hz85\aa.py# url1os.path.abspath(__file__) #获取绝对路径# url1os.path.join(os.getcwd(),aa.py)# print(url1)# url2os.getcwd()# print(url2)# url3os.path.dirname(os.getcwd())url3os.path.join(os.path.dirname(os.getcwd()),hz89)print(url3)url4os.path.join(os.path.dirname(os.getcwd()),hz90)# print(os.path.isfile(url2)) #False 判断时不是文件是目录# print(os.path.isfile(url1)) #True 判断aa是文件# print(os.path.isdir(url2)) #True 判断是一个目录# print(os.path.isdir(url1)) # False aa文件不是目录# print(os.path.exists(url1)) #True 存在# print(os.path.exists(url3)) #False 不存在# print(os.listdir(url2)) #查看目录下所有的文件和文档# print(os.path.split(url1)) #分割路径,相对路径和文档名分开# print(os.path.join(url2,dcs88.py)) #拼接路径相对路径文件名# print(os.mkdir(url4)) #创建目录# print(os.rename(url4,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次 egab * 能匹配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从第一个字符开始查找、一找到就返回第一个字符串找到就不往下找找不到则报错import restr1ab\naabaacd1\n efaaaaBaghaaijBka\na2b\nbmaaam4print(re.findall(\d,str1)) #数字0-9print(re.findall(\D,str1)) #非数字print(re.findall(\s,str1)) #空白字符print(re.findall(\n,str1)) #换行符print(re.findall(\w,str1)) #匹配字母数字print(re.findall(\W,str1)) #匹配非字母数字print(re.findall(^a,str1)) #表示的匹配字符以什么开头print(re.findall(^b,str1)) #[] 不是以b开头显示[]print(re.findall(4$,str1)) # 表示的匹配字符以什么结尾print(re.findall(b$,str1)) #[] 不是以b结尾显示[]# print(re.findall(a*,str1)) #匹配前面的字符0次或n次print(re.findall(a,str1)) #匹配前面的字符1次或n次print(re.findall(a?,str1)) #匹配?前面的字符0次或1次print(re.findall(a{2,4},str1)) #匹配前一个字符m到n次(包括n次)print(re.findall(a{3},str1)) #{m}匹配前一个字符m次print(re.findall(b,str1,flagsre.I)) #查询不区分大写 re.I#re.I是一个标识符print(re.sub(\d,k,str1)) # 替换7.json 模块python字符类型和json 字符类型转换 str1、dumps 将python中的字符类型字典转换成json案例import jsond{anme:zs,age:18}print(type(d)) #class dictprint(d) #{anme: zs, age: 18}jsjson.dumps(d)print(type(js)) #class strprint(js) #{anme: zs, age: 18}2、dump 将python中字符类型转成json文档类型案例import jsond{anme:zs,age:18}print(type(d)) #class dictprint(d) #{anme: zs, age: 18}json.dump(d,open(js57.json,a)) # 将字典写入到json文件中“a” 添加文件3、loads json类型转换成python类型的字典类型案例:import jsond{anme:zs,age:18}print(type(d)) #class strzdjson.loads(d)print(zd)print(type(zd)) #class dict4、load 将文件中json类型转换成python类型import jsonurl1rC:\Users\Administrator\PycharmProjects\untitled\bao\abc.jsonjsjson.load(open(url1,r,encodingutf-8))print(js)print(type(js))
企业数字化 ERP 产品动态
相关推荐
Securo对账引擎深度剖析:它用怎样的算法保证你的财务数据绝对一致 Securo对账引擎深度剖析:它用怎样的算法保证你的财务数据绝对一致 【免费下载链接】securo Open-source personal finance manager. Self-hosted, privacy-first. 项目地址: https://gitcode.com/gh_mirrors/se/securo
Securo 是一款开源、可自托管、隐私优先… · 2026/9/25 21:20:18
OKX量化交易Bot生产级实战:CCXT对接与工业级架构 1. 这不是“写个脚本就完事”的玩具项目:OKX量化交易Bot的真实战场OKX量化交易Bot——这七个字背后,不是Python语法练习,不是Jupyter Notebook里跑通一个回测曲线的自我感动,而是一整套从数据感知、策略决策、指令执行到系统存活的… · 2026/9/25 21:20:06
美术馆预约系统开发全解析:从数据库设计到并发防超卖 简介:美术馆预约系统是一套面向艺术场馆的数字化管理解决方案,也可作为计算机相关专业毕业设计项目的完整参考。系统业务链路清晰,覆盖用户注册登录、预约购票、展览信息维护、票务与订单管理、消息通知和后台数据分析等功能,前端… · 2026/9/25 21:19:59
一个月暴力攻破上百道世纪数学名题,学术界等来的却是恐慌与抗议 一个月暴力攻破上百道世纪数学名题,学术界等来的却是恐慌与抗议
2026年8月28日,OpenAI悄悄开启了一轮新的内部模型训练。
谁也没料到,短短24天后,也就是9月21日,这家科技巨头在官网丢下一枚重磅炸弹:这个尚… · 2026/9/25 21:49:44
传奇996引擎LUA脚本开发指南:从环境搭建到高级定制实践 前言
目录
一、996引擎LUA开发环境搭建
1.1 开发工具推荐
1.2 目录结构
1.3 热重载机制
二、LUA脚本基础结构
2.1 一个简单的NPC脚本示例
2.2 常用API分类
三、高级定制实战
3.1 自定义活动系统
3.2 自定义BOSS技能
3.3 玩家数据持久化
四、性能优化技巧
4.1 避免… · 2026/9/25 21:49:13
数据库实验五完整实践:解压、建库、事务与避坑指南 简介:面向西北工业大学软件学院数据库课程学习者,这份压缩包完整收录实验五的提交材料与过程记录,围绕电子商务数据库设计任务,提供ER图、概念数据模型及配套文字说明,可帮助完成从需求分析到概念结构设计的闭环。压缩… · 2026/9/25 21:49:06
静态+动态分析闭环:Ghidra MCP 集成调试器的断点、单步与ASLR地址转换详解 静态动态分析闭环:Ghidra MCP 集成调试器的断点、单步与ASLR地址转换详解 【免费下载链接】ghidra-mcp Ghidra MCP Server — 200 MCP tools for AI-powered reverse engineering. GUI plugin headless server, lazy tool loading, convention enforcement, batch … · 2026/9/25 21:48:35
260923-report 260923-report 🧑🏻💻Author: Zenos
📝Overview: 本文档主要记录26年9月第三周学习内容以及后续学习计划。 文章目录260923-report[toc]一、研究背景1.1 微小目标检测1.1.1 微小目标检测面临的挑战1.1.2… · 2026/9/25 21:48:29
Windows 11非分页池泄漏排查实战:PoolMon+RAMMap精解 1. 这不是蓝屏前的幻觉:Windows 11里“吃内存”的幽灵真存在你有没有遇到过这种情况:刚重启完系统,任务管理器显示已用内存才2GB,可两小时后,它就悄无声息地涨到6GB、7GB,甚至8GB以上?打开的任务… · 2026/9/25 21:48:22
创维E900V22D刷机全攻略:S905L3SB芯片兼容性解析与救砖实战 /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:31
MQTT协议原理与Broker服务器搭建实战:从Mosquitto到EMQX /* MD / 富文本中的 .toc(含博客园搬家等嵌套结构);.toc-box 在侧栏,不受影响 */#content_views .toc,/* 编辑器常在目录前后插入空 p(:empty 仍占 20px),一并去掉避免顶空隙 */#content_views.markdown_views > p:empty:has(+ .toc),#content_views.markdown_views … · 2026/9/25 1:00:37