# python study day10
# 正则表达式
# \d # 匹配一个数字
# \w # 匹配一个字母或数字
# . # 匹配任意字符
# * # 匹配0个或任意多个字符
# + # 匹配至少一个字符
# ? # 匹配0个或1个字符
# {n} # 匹配n个字符
# {n, m} # 匹配n-m个字符
# \s # 匹配一个空格(包括Tab空白符),\s+ 表示至少一个空格
# [] # 匹配范围,[0-9a-zA-Z\_] 可以匹配一个数字、字母或下划线
# A|B # 匹配A或B
# ^ # 匹配行开头,^\d 表示以数字开头
# $ # 匹配行结尾,\d$ 表示以数字结束
# 例匹配 '010-12345'对'-'是特殊字符,要用‘\’转义。\d{3}\-\d{3,8}
# 对表达式'abc\-001'因为python也用'\'转义,所以要写成'abc\\-001'
# 为避免麻烦,推荐使用'r'前缀代替转义,s = r'abc\-001'
# test = '输入的字符串'
# if re.match(r'正则表达式', test): # 成功返回match对象,失败返回None
# print('ok')
# else:
# print('failed')
# 用正则表达式切分字符串
# import re
# re.split(r'\s+', 'a b c') # 可以识别连续空格 >>> ['a','b','c']
# re.split(r'[\s\,]+', 'a,b, c d') #>>> ['a','b','c','d']
# re.split(r'[\s\,\;]+', 'a,b;; c d') #>>> ['a','b','c','d']
# 用()表示要提取的分组
# import re
# m = re.match(r'^(\d{3})-(\d{3,8})$', '010-12345')
# m.group(0) # 获取原始字符串 >>> '010-12345'
# m.groups() # 获取分组集合 >>> ('010', '12345')
# m.group(1) #>>> '010'
# m.group(2) #>>> '12345'
# 正则默认匹配时贪婪匹配,尽可能多地匹配
# re.match(r'^(\d+)(0*)$', '102300').groups() #>>> ('102300', '')
# re.match(r'^(\d+?)(0*)$', '102300').groups() #添加?>>> ('1023', '00')
# 预编译,一次编译正则多次使用
# import re
# tel = re.compile(r'^(\d{3})-(\d{3,8})$')
# tel.match('010-12345').groups() #>>> ('010', '12345')
# import re
# def is_valid_email(addr):
# email = r'(^\w+\.?\w+)@(\w+\.\w{3})'
# return re.match(email, addr) != None
# print(is_valid_email('num.19th@gmail.com'))
# import re
# def name_of_email(addr):
# email = r'\<*([\w\s]*)\>*\s*(\w*)@(\w+\.\w{3})'
# m = re.match(email, addr)
# if m:
# return m.group(1)
# print(name_of_email('<Tom Paris> tom@voyager.org'))
# python常用内建模块
# 1、datetime 日期时间标准库
# from datetime import datetime, timedelta, timezone
# # datetime模块中引入datetime类,timedelta计算类,timezone时区类
# print(datetime.now()) # 当前时间 >>> 2020-12-02 11:49:12.195332
# print(datetime(2020, 12, 2, 11, 50)) # 指定时间 >>> 2020-12-02 11:50:00
# # timestamp = 0 = 1970-1-1 00:00:00 UTC+0:00(epoch time) # 北京时区 UTC+8:00
# print(datetime.now().timestamp()) # 转为timestamp >>> 1606881363.16063 单位秒
# t = 1606881300.0
# print(datetime.fromtimestamp(t)) # 转为datetime >>> 2020-12-02 11:55:00 本地时区
# print(datetime.utcfromtimestamp(t)) # 转标准时区 >>> 2020-12-02 03:55:00
# print(datetime.strptime('2020-12-1 12:03:00','%Y-%m-%d %H:%M:%S'))
# # str 转 dateime,没有时区信息 >>> 2020-12-01 12:03:00
# print(datetime.now().strftime('%a, %b %d %H:%M'))
# # datetime 转 str >>> Wed, Dec 02 12:07
# print(datetime.now() - timedelta(days=1))
# # 当前时间减一天 >>> 2020-12-01 13:29:03.515232
# print(datetime.now() + timedelta(days=2, hours=12))
# # >>>2020-12-05 01:31:36.034688
# print(datetime.now().replace(tzinfo=timezone(timedelta(hours=8))))
# # 设置时区为UTC+8:00 >>> 2020-12-02 13:38:29.993544+08:00
# utc_dt = datetime.utcnow().replace(tzinfo=timezone.utc)
# bj_dt = utc_dt.astimezone(timezone(timedelta(hours=8)))
# # 转换时区为北京时间 >>> 2020-12-02 13:38:29.993544+08:00
# print(bj_dt.astimezone(timezone(timedelta(hours=9))))
# # 北京时区转东京时间 >>> 2020-12-02 14:46:37.090934+09:00
# from datetime import datetime,timezone,timedelta
# def to_timestamp(dt_str, tz_str):
# dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
# tz = tz_str.replace('UTC','').split(':')
# minutes = int(tz[0]) * 60 + int(tz[1]) - 8 * 60
# if minutes > 0:
# dt = dt + timedelta(minutes=minutes)
# else:
# dt = dt - timedelta(minutes=minutes)
# print(dt.timestamp())
# return dt.timestamp()
# t1 = to_timestamp('2015-6-1 08:10:30', 'UTC+7:00')
# assert t1 == 1433121030.0, t1
# def to_timestamp2(dt_str, tz_str):
# dt = datetime.strptime(dt_str, '%Y-%m-%d %H:%M:%S')
# zone = re.match(r'UTC([+|-]\d+):(\d{2})',tz_str)
# tz_utc = timezone(timedelta(hours=int(zone.group(1)),minutes=int(zone.group(2))))
# tz_dt = dt.replace(tzinfo=tz_utc)
# return tz_dt.timestamp()
相关推荐
Switch游戏安装新思路:抛弃Commander One,试试这款免费的Mac神器OpenMTP
本文介绍了Mac用户安装Switch游戏的新选择——免费工具OpenMTP,对比收费软件Commander One,OpenMTP在MTP连接稳定性和文件管理上更具优势。详细解析了OpenMTP的安装配置、核心功能及实战操作,帮助用户高效完成游戏安装,特别适合已破解并安装DBI的Switch用户。
python 库 第三方模块
*)datetime模块 包括时间、时间对象、时间戳、时区、时区的转换 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616 import re from datetime import datetime, timezone, timedelta def match_tz(ta...
30分钟搭建AI科研写作工作台:基于WorkBuddy的论文全流程加速实践
在人工智能技术日益普及的今天,如何利用智能工具提升专业领域工作效率成为关键课题。其核心原理在于通过模块化设计,将复杂的任务流程拆解为可复用、可编排的标准化技能单元,并结合精准的指令控制,实现从通用对话到深度任务执行的转变。这一技术价值在于显著降低重复性劳动强度,将人的创造力聚焦于核心决策与创新环节。在科研写作、数据分析、代码开发等场景中,这类智能工作台能有效辅助完成文献调研、内容生成、格式校验等繁琐步骤。本文以科研论文写作为具体应用场景,深入探讨如何利用WorkBuddy这一智能工作台,通过配置核心科研技能
《python(廖雪峰课程)》学习笔记
学习廖雪峰python课程的关键词摘录和整理。
SAP-HR 模块 PPOSE 的详细信息标签页增强
步骤1:T-CODE : SE11 创建一个名为 HRI9106 的结构 命名:HRI + 91 + 两位数字。人事管理 - 组织管理 - 集成新信息类型 - 将信息类型添加为明细范围中的标签页。步骤6:SE51 查看 7000屏幕,修改屏幕属性 让其更美观。步骤3:T-CODE : SM30维护 T777I 表。步骤5:PPCI 新建 7000屏幕用于显示。标签页 IT 开头 + 信息类型 9106。步骤2:T-CODE : PPCI。步骤4:T-CODE : SPRO。
用Frida-RPC搞定大麦App最新版签名:一个脚本解决x-sign和x-mini-wua
本文深入解析大麦App最新版签名机制(x-sign和x-mini-wua),详细介绍如何利用Frida-RPC技术开发稳定脚本获取签名参数。通过实战案例展示Java上下文切换、参数序列化等关键技术解决方案,为安全研究和技术验证提供可靠方案。
廖雪峰python教程学习笔记_python基础
从教程中摘录的笔记内容
Groq LPU架构解析:确定性线性处理器如何重塑AI推理
语言模型推理正从‘通用算力堆叠’转向‘确定性硬件定制’。LPU(Language Processing Unit)作为一种面向大模型推理的领域专用处理器,摒弃传统GPU的并行调度、多级缓存与动态执行范式,转而采用空间计算、静态编译与单线程线性流水线设计,实现纳秒级延迟可控性和92%+的HBM带宽利用率。其核心价值在于将模型结构、内存访问、时序路径全部在编译期固化,从而消除运行时抖动——这正是当前MLOps工程师应对A100显存碎片、vLLM调度开销与P99延迟不稳等痛点的关键技术路径。Groq 3 LPU与
Python 学习笔记(四):常用内建模块和第三方模块
结合翻译的标准库一览(Python进阶学习)进行学习,可以更多的提高~序列化在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)可以随时修改变量,比如把name改成’Bill’,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的’Bill’存储到磁盘上,下次重新运行程序,变量又被初始化
EEMD算法原理及应用
本博客主要概括EEMD算法的背景、原理以及应用,利用EEEMD对信号进行分解,然后选择有用的IMF分量进行叠加以完成信号的重构,从而实现对信号降噪。本文配套的源代码见文中链接,可供大家免费下载。
S7-1200 G2移植旧版本S7-1200程序的具体方法示例
S7-1200 G2移植旧版本S7-1200程序的具体方法示例
python基础学习笔记<内建模块与第三方模块>
来自:http://www.liaoxuefeng.com/ collections collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来
152:vue+leaflet 判断一个点是否在一个电子围栏内
本文介绍了一个基于Vue+Leaflet的示例,演示如何判断点是否在电子围栏内。作者大剑师兰特(优快云知名博主)展示了使用polygon.getBounds().contains(latlng)方法检测点与多边形边界的关系。代码仅需80行,通过点击地图触发判断逻辑,结果显示提示信息。该技术可广泛应用于地理围栏、位置服务等场景,需要安装turf依赖。文章提供了完整源码和配置说明,适合GIS开发者学习参考。
Python廖雪峰教程学习笔记:Day10
前言 养成一个好的习惯只需要坚持21天,Day10 获取对象信息 判断对象类型,可以使用type()函数: type(123) # <class 'int'> type('apple') # <class 'str'> type(None) # <type(None) 'NoneType'> 如果一个变量指向函数或者类,也可以用type()函数来判断: typ...
Outlook Express 6 (OE6) for Win7/Win8/Win10
英文版 Outlook Express6.0, 兼容Win7/Win10/WinXP,解压就可用。
ssm框架搭建
这个是一个在idea上成功跑起来的ssm框架项目,保存在这里方便以后使用直接下载
廖雪峰Python学习笔记day11
学习笔记day10 # python study day11 # collections 内建集合模块 # namedtuple 创建自定义tuple对象,规定tuple元素个数,使用属性引用元素 # from collections import namedtuple # Point = namedtuple('Point', ['x', 'y']) # p = Point(1, 3) # p2 = Point(-1, -3) # print(p.x, p.y) #>>> 1 3 #
Data-Structures-and-Algorithm-Analysis-in-Java.pdf
作者: Weiss, Mark A. 出版社: Addison Wesley Data Structures and Algorithm Analysis in Java is an “advanced algorithms” book that fits between traditional CS2 and Algorithms Analysis courses. In the old ACM Curriculum Guidelines, this course was known as CS7. This text is for readers who want to learn good programming and algorithm analysis skills simultaneously so that they can develop such programs with the maximum amo...
廖雪峰Python学习笔记day9
学习笔记day8 # python study day9 # 进程和线程。实现多任务的方式 # 1、多进程模式 # 2、多线程模式 # 3、多进程+多线程模式 # multiprocessing 跨平台多进程模块。Unix/Linux/Mac环境下可以使用fork创建子进程 # from multiprocessing import Process # import os # def run_proc(name): # 子程序要执行的代码 # print('Parent process %s (
复分析 阿尔福斯(Ahlfors) 第三版答案 英文
答案分为十章,有部分习题没有答案,全英文复分析阿尔福斯(Ahlfors) 第三版答案
廖雪峰Python学习笔记day15
学习笔记day14 # python study day15 # 一般不同平台邮件收发过程 # 发件人 -> MUA(Mail User Agent——邮件用户代理) -> # MTA(Mail Transfer Agent——邮件传输代理) -> 若干个MTA -> # MDA(Mail Delivery Agent——邮件投递代理) <- MUA <- 收件人 # SMTP 邮件发送协议,python提供 email(负责构造邮件)、smtplib(负责发送邮件)模
廖雪峰Python学习笔记day1
学习参考自 廖雪峰Python教程 # 廖雪峰学习python 3.x # vscode 快捷当行注释 CTRL + / 或者 CTRL + K + C # vscode 快捷取消注释 CTRL + / 或者 CTRL + K + U # vscode 快捷下方插入行 CTRL + Enter # 交互模式下('>>>')输入一行代码,执行一行 # 33 + 2 # >>> 35 # 命令行模式下,直接运行.py文件,一次性执行所有代码 # print(33.1*3)
Python廖雪峰教程学习笔记:Day2
前言 养成一个好的习惯只需要坚持21天,Day2 使用list和tuple list 列表 list是一种有序的集合,可以随时添加和删除其中的元素。它的表示用[]。list = [] 变量name就是一个list。用len()函数可以得到list的长度,即该list当中有多少个元素。 list中元素的访问采用索引,⚠️注意索引是从0开始的,当索引超出list的长度,Python会报一个Inde...
廖雪峰 Python教程 学习笔记_Day01
廖雪峰 Python教程 学习笔记_Day02
Python廖雪峰教程学习笔记:Day5
前言 养成一个好的习惯只需要坚持21天,Day5 高级特性 切片 迭代 列表生成器 生成器 切片 取一个list和tuple的部分元素可以用切片快速实现。 L为一个list,L[0:3]表示从索引0开始取到索引3为止,但不包括索引3,即索引0,1,2三个元素。 如果第一个索引是0,还可以省略为L[:3],运行结果和L[0:3]一样。 如果索引从1开始,取出两个元素则可以写作L[1:3],运行...
Python廖雪峰教程学习笔记:Day11
前言 养成一个好的习惯只需要坚持21天,Day11 这两天主要学习一下面向对象的高级编程。 使用__slots__ 由之前学习类的定义和实例的创建,我们可以给实例绑定不同的属性,例如: class Student(object): pass s = Student() s.name = 'Tom' # 动态给实例绑定一个属性 print(s.name) # Tom 如果我们只允许对Studen...
Python廖雪峰教程学习笔记:Day4
前言 养成一个好的习惯只需要坚持21天,Day4 函数 编程中,函数的调用、定义在一定程度上可以简化功能的实现,降低程序的复杂度。 调用函数 Python中内置了许多有用的函数,我们在调用一个内置函数的时候,需要知道函数的名称和参数。 内置函数-Python 3.7.6文档 调用abs()函数: 调用函数的数量,如果传入的参数数量不对,会报TypeError错误: 如果传入参数的数量是对的,但...
Python廖雪峰教程学习笔记:Day15
前言 养成一个好的习惯只需要坚持21天,Day15 多进程 Unix/Linux操作系统提供了一个fork()系统调用。一般我们遇到的函数都是调用一次便返回一次,这里的fork()调用一次返回两次。因为操作系统自动把当前进程(称为父进程)复制了一份(称为子进程),然后,分别在父进程和子进程内返回。 子进程永远返回0,而父进程返回子进程的ID。 fork调用,一个进程在接到新任务时就可以复制出一个子...
廖雪峰python3教程-学习笔记1-python简介
廖雪峰python3教程-学习笔记1-python简介Python简介 day 1 # 学习的开始 本人环境工程专业,曾留学美国,目前就职于某中央直属事业单位,在人工智能、大数据、机器学习、深度学习席卷全球的当下,领导固执的想法下单位仍然以很古老的方式在运作,自己很想给自己、给部门带来一些新的思维方式,新的解决问题的方式。今天第一天学习python3,从廖雪峰python3教程开始,希望自己可以一...

583



被折叠的 条评论
为什么被折叠?



