# 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()
相关推荐
W5500+STM32F103C8T6进行TCP通信(modbus)
一路生花一、w5500资料二、modbus通信三、从机代码四、总结五、参考 一、w5500资料 w5500的资料就放在下面了,单纯的客户端和其他模式上面有教程 https://www.aliyundrive.com/s/enPnnZgNtpE 二、modbus通信 Modbus RTU通信时使用的数据帧结构如下图,而Moubus TCP通信的数据帧和这个稍微不一样,没有crc检验,因为tcp本就是一种可靠传输协议 这里是Modbus TCP数据帧 公共功能码定义 三、从机代码
python 库 第三方模块
*)datetime模块 包括时间、时间对象、时间戳、时区、时区的转换 参考链接:https://www.liaoxuefeng.com/wiki/1016959663602400/1017648783851616 import re from datetime import datetime, timezone, timedelta def match_tz(ta...
如何利用ADS中的耦合线设计带通滤波器并转换为HFSS模型
耦合线带通滤波器是一种常用的微带滤波器形式,由多个长度为四分之一波长的耦合线节组成,在所需频点形成谐振,构成滤波器的频率响应特性。首先我们先来了解一下耦合线带通滤波器的电路结构,见下图:包括两对耦合线,中间为公共连接点,其中两对耦合线的偶奇模阻抗为(Z1e,Z1o)和(Z2e,Z2o,端口输入阻抗为Z0)。2.指定一个初始奇偶模值,ADS优化出一个合适的结果,通过奇偶模值利用linecalc工具计算出微带耦合线尺寸。假设中心频率为2GHz,则对应频点的电长度为。5.运行结果,两个软件仿真结果基本一致。
《python(廖雪峰课程)》学习笔记
学习廖雪峰python课程的关键词摘录和整理。
(MATLAB)一维信号峰值检测findpeaks
一维信号波峰波谷检测,峰值、峰宽、到达时间计算。MATLAB自带的findpeaks函数能完成这一任务,在这里分享其基本用法与特殊用法。
10|Git Diff 与增量代码识别:本次到底改了哪些代码?
本文介绍 Git Diff 和增量代码识别,帮助你理解精准测试如何先找到本次真正变化的代码。测试开发工程师。Java 后端开发工程师。质量平台 / DevOps 平台建设者。想了解精准测试落地方法的技术负责人。
廖雪峰python教程学习笔记_python基础
从教程中摘录的笔记内容
Lammps实现结冰匀相成核
Lammps实现结冰匀相成核
Python 学习笔记(四):常用内建模块和第三方模块
结合翻译的标准库一览(Python进阶学习)进行学习,可以更多的提高~序列化在程序运行的过程中,所有的变量都是在内存中,比如,定义一个dict:d = dict(name='Bob', age=20, score=88)可以随时修改变量,比如把name改成’Bill’,但是一旦程序结束,变量所占用的内存就被操作系统全部回收。如果没有把修改后的’Bill’存储到磁盘上,下次重新运行程序,变量又被初始化
基于 Logistic 混沌映射和 Arnold 变换 的变换域水印改进算法【高级网络与信息安全技术-信息隐藏期末课程论文】
摘要:\textbf{摘要:}摘要:本文提出了一种新的水印算法是一种图像认证的新方法。算法首先使用Logistic混沌映射加密水印图像,然后使用Arnold变换置乱水印。同时改变了水印图像的像素位置和像素值,大大提高了算法的安全性。再使用DCT变换嵌入水印,并且结合人类视觉系统的特点来提升水印嵌入的透明性。实验结果表明,本文提出的水印算法可以大幅度提高水印嵌入的透明性与安全性的同时,并不降低算法的鲁棒性。注:完整的代码和论文在文末,百度网盘链接。
Python 爬虫实战:爬取豆瓣电影 Top250 完整数据
本文基于Python技术实现了豆瓣电影Top250榜单数据的合规爬取与分析。针对豆瓣电影页面的分页结构、反爬机制等特点,采用requests库获取数据,结合BeautifulSoup解析HTML节点,并通过正则表达式提取电影名称、评分、导演等核心字段。爬虫实现了随机User-Agent、请求间隔控制等反爬规避策略,严格遵守豆瓣社区使用规范。最终数据经清洗后存储为结构化Excel文件,并提供了数据可视化与增量更新方案。该方案为影视研究提供了可靠的数据获取方法,同时确保符合非商业使用、适度爬取等合规要求。
python基础学习笔记<内建模块与第三方模块>
来自:http://www.liaoxuefeng.com/ collections collections是Python内建的一个集合模块,提供了许多有用的集合类。 namedtuple 我们知道tuple可以表示不变集合,例如,一个点的二维坐标就可以表示成: >>> p = (1, 2) 但是,看到(1, 2),很难看出这个tuple是用来
【Microchip】微芯 MPLAB® X IDE开发环境新建项目(点亮1颗LED灯)(常用右键菜单快捷键)
1.新建项目2. 选择芯片型号和调试器3.选择编译器4.项目命名和选择文件路径5.新建成功,给项目添加main.c7.将新建的mainXC16.c文件添加进项目6000000UL这三个就是。
Python廖雪峰教程学习笔记:Day10
前言 养成一个好的习惯只需要坚持21天,Day10 获取对象信息 判断对象类型,可以使用type()函数: type(123) # <class 'int'> type('apple') # <class 'str'> type(None) # <type(None) 'NoneType'> 如果一个变量指向函数或者类,也可以用type()函数来判断: typ...
pscad IEEE标准系统搭建说明
pscad IEEE标准系统搭建说明,包含典型的IEEE 9节点、14节点、30节点、39节点和118节点系统。内含标准测试系统的原始数据和潮流结果。
TMS_WebGMaps_1.9.8.0_Full_Source
TMS_WebGMaps_1.9.8.0_Full_Source 全源码 delphi cbuilder
廖雪峰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 #
假人有限元模型
假人模型,车辆碰撞假人有限元模型,适合做乘员安全的研究者利用
廖雪峰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 (
ET2012新版免狗免安装绿色软件
ET2012新版免狗免安祖昂绿色软件。,新界面,新视觉,
廖雪峰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教程开始,希望自己可以一...

5777



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



