python-04

str.spilt()

str.spilt(str=" ", num = string.count(str));

str:分隔符,默认为所有的空字符,包括空格、换行符"\n"、制表符"\t"等。

num:分隔次数

str = "小时候 总有他们在耳边叮咛嘱咐 小时候,总有他们牵着我们过马路。渐渐地,这种叮咛越来越少了。"
print(str.split())
print(str.split(',',1))
print(str.split('。'))

re.split()

re.split(pattern, string[, maxsplit])

按照能够匹配的子串将string分割,然后返回分割列表。

maxsplit:指定最大的分割次数,不指定全部分割

import re
line = "iphone7 iphone8; iphoneX, iphoneX plus,       foo"
parts = re.split(r'[;,\s]\s*',line)
print(parts)
fields = re.split(r'(;|,|\s)\s*',line)
print(fields)

1.使用的分隔符是逗号、分号或者空格符,后面可跟任意数量的额外空格

2.根据捕获组进行分割,在使用re.split()时需要注意正则表达式模式中的捕获组是否包含在括号中。如果用到了捕获组,那么匹配的文本也会包含在最终结果中了。

fnmatch.fnmatch()

fnmatch.fnmatch(name, pattern)

测试name是否匹配pattern,是则返回True,否则返回False。

fnmatchcase()的功能是根据提供的大小写进行匹配。

其中“*”表示匹配任意个或多个字符,“?”表示匹配单个字符,[seq]表示匹配单个seq中的字符,[!seq]表示匹配单个不是seq中的字符

请找出以“济南市”为结尾的数据,以2500开头、后面紧跟两个数字并且结尾是数字“06”的数据。

from fnmatch import fnmatchcase as match
import fnmatchprint(fnmatch.fnmatch('py','.py'))
print(fnmatch.fnmatch('tlie.py','*.py'))print(fnmatch.fnmatch('123.txt','*.TXT'))
print(fnmatch.fnmatchcase('123.txt','*.TXT'))  # 区分大小写
addresses = ['山东省 济南市','市中心','250001 3006',
]
a = [addr for addr in addresses if match(addr, '*济南市')]
print(a)
b=[addr for addr in addresses if match(addr, '2500[0-9][0-9] *06*')]
print(b)

str.startswith()

检查字符串是否以指定的子字符串开头,如果是则返回True,否则返回False。如果参数beg和end指定了具体的值,则会在指定的范围内进行检查。

str.startswith(str,beg=0,end=len(string))

str.endswith(suffix[, start[, end]])

suffix:可以是一个字符串或者一个元素

text = "2021年本商店电子商品销售数据"
print(text.startswith('2021'))
print(text.endswith('数据'))
print(text.find('商'))

str.replace() 

str.replace(old, new[, max])   替换

old:将被替换的子字符串

new:新字符串,用于替换old子字符串

max:可选参数,替换不超过max次


str = "www.toppr.com"
print("公告")
print("玲珑科技新地址:", str.replace("www.example.net","www.toppr.net"))
str = "this is string example ...hehe!!!"
print(str.replace('is', 'was', 3))

str.strip()

str.strip([chars])

删除字符串头尾指定的字符(默认为空格)

chars:表示删除字符串头尾指定的字符

str.lstrip([chars])  删除字符串左边的空格或指定字符,返回值是删除完成后的新字符串

str.rstrip([chars])   删除字符串右边的空格或指定字符,返回值是删除完成后的新字符串

str = "      我完全反对楼上的观点     "
print(str.strip());
str = "放X楼上的观点简直是放X    "
print(str.strip('放X'))
str1 = "         我赞成楼上的观点     "
print(str1.rstrip())
str2 = "无语了,骂楼上,骂"
print(str2.rstrip("骂"))

abs(x)  绝对值

print("abs(-40):",abs(-40))
print("abs(100.10):",abs(100.10))

 pow()

math.pow(x, y)    x的y次方,参数转换为float

pow(x,y[, z])   如果z存在,则再对结果进行取模,等于pow(x,y)%z,参数作为整形

import math
print("math.pow(100,2):",math.pow(100,2))
print("pow(100,2):",pow(100,2))
print("math.pow(100,-2):",math.pow(100,-2))
print("math.pow(2,4):",math.pow(2,4))
print("math.pow(3,0):",math.pow(3,0))

decimal

浮点数天生存在误差,decimal实例可以准确地表示任何数字。

a = 4.2
b = 2.1
print(a+b)
print((a+b) == 6.3)
from decimal import Decimal
a = Decimal('4.2')
b = Decimal('2.1')
print(a+b)
print(Decimal('6.3'))
print((a+b)==Decimal('6.3'))
from decimal import localcontext
a = Decimal('1.3')
b= Decimal('1.7')
print(a/b)
with localcontext() as ctx:ctx.prec = 3print(a/b)
with localcontext() as ctx:ctx.prec = 50print(a/b)

进制

bin():二进制

oct():八进制

hex():十六进制

如果不想在程序中出现0b, 0o, 0x这类进制前缀符,可以使用format函数来处理。

x = 123
print(bin(x))
print(oct(x))
print(hex(x))
print(format(x,'b'))
print(format(x,'o'))
print(format(x,'x'))x = -123
print(format(x, 'b'))
print(format(x, 'x'))
print(format(2**32 + x, 'b'))
print(format(2**32 + x, 'x'))
print(int('4d2', 16))
print(int('10011010010', 2))

time.time()

返回当前时间的时间戳。

import time
def procedure():time.sleep(2.5)t0 = time.clock()procedure()
print(time.clock()-t0)
t0=time.time()
procedure()
print(time.time()-t0)

Calendar

calendar.calendar(year, w=2, l=1, c=6):返回一个多行字符串格式的year年年历,3个月一行,间隔距离为c。每日宽度间隔为w字符。每行长度为21*w+18+2*c。l代表每星期行数。

calendar.firstweekday():返回当前每周起始日期的设置。在默认下,首次载入calendar模块时返回0,即表示星期一。

calendar.isleap(year):是闰年则返回True,否则返回False

calendar.leapdays(y1,y2):返回在y1,y2两年之间的闰年总数。

calendar.month(year, month, w=2, l=1):返回一个多行字符串格式的year年month月日历,两行标题,一周一行。每日宽度间隔为w字符,每行长度为7*w+6。l表示每星期的行数。

calendar.monthcalendar(year, month):返回一个整数的单层嵌套列表,每个子列表装载代表一个新奇的整数,year年和month月外的日期都设为0.范围内的日子都由该月第几日表示,从1开始

calendar.monthrange(year, month):返回两个整数,第一个是该月的首日是星期几,第二个是该月的天数

calendar.prcal(year, w=2, l=1, c= 6):相当于print(calendar.calendar(year, w, l, c))

calendar.prmonth(year, month, w=2, l=1):

calendar.setfirstweekday(weekday):设置每周的起始日期,0(星期一)到6(星期日)

import calendar
calendar.setfirstweekday(calendar.SUNDAY)
print(calendar.firstweekday())
c = calendar.calendar(2022)
print(c)
m = calendar.month(2022,7)
print(m)

正则表达式re

compile(source, filename, mode[, flags[, dont_inherit]], optimize=-1)

将source编译为代码或这AST对象。字节码可以使用内置函数exec()来执行,而AST可以使用内置函数eval()来继续编译。

import re
# 匹配模式,前面一组3个数字,后面一组8个数字
re_telephone = re.compile(r'^(\d{3})-(\d{3,8})$')
A = re_telephone.match('010-12345678').groups()
print(A)
B=re_telephone.match('010-80868080').groups()
print(B)

re.match(pattern, string, flags=0)

pattern:匹配的正则表达式

string:要匹配的字符串

flags:标志位

匹配成功会返回一个匹配的对象,否则返回None。我们可以使用函数group(num)或函数groups()来获取匹配表达式。

flags:

re.I忽略大小写
re.L根据本地设置而更改\w, \W, \b, \B, \s, 以及\S的匹配内容
re.M多行匹配模式
re.S使"."元字符匹配换行符
re.U匹配Unicode字符
re.X忽略pattern中的空格,并且可以使用“#”注释

 group(num=0):匹配的整个表达式的字符串,group()可以一次输入多个组号,在这种情况下它将返回一个包含哪些组所对应值的元组

groups():返回一个包含多组字符串的元组

import re
text = input("请输入你的邮箱地址:\n")
if re.match(r"[0-9a-zA-Z_]{0,19}@163.com", text):print('你的邮箱地址合法!')
else:print('你的邮箱地址非法!')

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.rhkb.cn/news/354834.html

如若内容造成侵权/违法违规/事实不符,请联系长河编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

Nginx 搭建 lnmp

一.编译安装Nginx 1.新建用户前期准备 官网下载nginx安装包 https://nginx.org/en/download.html yum -y install gcc pcre-devel openssl-devel zlib-devel openssl openssl-devel #安装依赖包 useradd -M -s /sbin/nologin nginx #新建nginx用户便于管理 2.切换到/opt…

『 Linux 』动态库的加载

文章目录 动静态库的区别动态库-共享库动态库的加载动态库的管理 总结 动静态库的区别 动态库(Dynamic Libraries) 链接方式 动态链接,程序在运行时(而不是在编译时)与动态库链接; 操作系统负责加载动态库文件; 文件大小 使用动态库的应用程序通常其可执行文件大小更小; 因…

FlashDB的TS数据库的标准ANSI C移植验证

本文目录 1、引言2、环境准备3、修改驱动4、验证 文章对应视频教程: 暂无,可以关注我的B站账号等待更新。 点击图片或链接访问我的B站主页~~~ 1、引言 在当今数据驱动的时代,高效可靠的数据存储与管理对于嵌入式系统及物联网(IoT)应用至关重…

Matlab数学建模实战应用:案例2 - 传染病传播

目录 前言 一、问题分析 二、模型建立 三、Matlab代码实现 四、模型验证 灵敏度分析 五、模型应用 实例总结 总结 前言 传染病传播模型是公共卫生和流行病学的重要研究内容,通过数学建模可以帮助我们理解传染病的传播规律和趋势,以便制定有效的…

商超智能守护:AI监控技术在零售安全中的应用

结合思通数科大模型的图像处理、图像识别、目标检测和知识图谱技术,以下是详细的商超合规监测应用场景描述: 1. 员工仪容仪表监测: 利用图像识别技术,系统可以自动检测员工是否按照规范整理妆容、穿着工作服,以及是否…

[Linux] 系统管理

全局配置文件 用户个性化配置 配置文件的种类 alias命令和unalias命令 进程管理 进程表

数电逻辑门电路分析和Digital仿真

文章目录 1. 逻辑门电路 2. 非门(NOT Gate) 3. 与门(AND Gate) 4. 或门(OR Gate) 5. 与非门(NAND Gate) 6. 或非门(NOR Gate) 7. 异或门(XO…

WPF学习(3)--不同类通过接口实现同种方法

一、接口概述 1.接口的概念 在C#中,接口(interface)是一种引用类型,它定义了一组方法、属性、事件或索引器,但不提供实现。接口只定义成员的签名,而具体的实现由实现接口的类或结构体提供。接口使用关键字…

【每日刷题】Day70

【每日刷题】Day70 🥕个人主页:开敲🍉 🔥所属专栏:每日刷题🍍 🌼文章目录🌼 1. 922. 按奇偶排序数组 II - 力扣(LeetCode) 2. 905. 按奇偶排序数组 - 力扣&…

2024年【N1叉车司机】作业考试题库及N1叉车司机实操考试视频

题库来源:安全生产模拟考试一点通公众号小程序 2024年N1叉车司机作业考试题库为正在备考N1叉车司机操作证的学员准备的理论考试专题,每个月更新的N1叉车司机实操考试视频祝您顺利通过N1叉车司机考试。 1、【多选题】《中华人民共和国特种设备安全法》第…

Java基础学习-方法

目录 方法基础概念 方法的格式: 案例:最简单方法的定义 案例:带参数的方法调用 案例:求圆的面积 带有返回值的方法: 方法注意点 方法的重载: ​编辑 案例:数组的遍历: 案例…

基于DE2-115平台的VGA显示实验

一.任务需求 深入了解VGA协议,理解不同显示模式下的VGA控制时序参数(行频、场频、水平/垂直同步时钟周期、显示后沿/前沿等概念和计算方式);通过Verilog编程,在至少2种显示模式下(64048060Hz,102476875Hz&…

c++模板模式

文章目录 模板模式什么是模板模式为什么使用模板模式模板模式实现步骤 示例模板模式优缺点 模板模式 什么是模板模式 模板模式(Template Method Pattern)是一种行为设计模式,它定义了一个操作中的算法骨架,将某些步骤的具体实现延…

SEO之预估流量及价值(二)

初创企业搭建网站的朋友看1号文章;想学习云计算,怎么入门看2号文章谢谢支持: 1、我给不会敲代码又想搭建网站的人建议 2、新手上云 (接上一篇。。。。) 2、点击率 搜索结果页面各排名位置点击率也不精确。前面介绍的…

当游戏遭遇安全问题,我们应该怎么做?

在游戏安全领域,专业性最差、但最常见的案例类型是DDoS攻击(分布式拒绝服务攻击)。出于它的特性,中小厂商、独立开发者较容易遭受这类攻击。 例如,今年2月29日上线的手游《雷索纳斯》就遭受了名为ACCN组织发起的DDoS攻…

「Python-docx 专栏」docx 设置页面边距、页眉页脚高度

本文目录 前言一、docx 页面边距在哪里二、对 <w:pgMar> 的详细说明1、上边距的说明2、右边距的说明3、下边距的说明4、左边距的说明5、页眉高度的说明6、页脚高度的说明三、设置 docx 页边距、页眉页脚高度1、完整代码2、代码执行效果图四、补充一些内容1、页面边距的两…

曲线拟合 | 二次B样条拟合曲线

B 样条曲线拟合实例&#xff1a;能平滑化曲线 1. 实例1 为MASS包中mcycle数据集。它测试了一系列模拟的交通车事故中&#xff0c;头部的加速度&#xff0c;以此来评估头盔的性能。times为撞击时间(ms)&#xff0c;accel为加速度&#xff08;g&#xff09;。首先导入数据&#…

客观评价,可道云teamOS搭建的企业网盘,如Windows本地电脑一般的使用体验真的蛮不错

不管是企业网盘还是私有网盘&#xff0c;简单易用一直是我比较在意的。快速能上手使用&#xff0c;甚至不需要习惯一套新的操作逻辑&#xff0c;代表着不需要学习适应&#xff0c;能够迅速投入正常使用。 在这个过程中&#xff0c;可道云teamos以其Windows电脑般的流畅体验&am…

S级猫主食冻干测评出来了:希喂、K9、朗诺实测分享

对于许多宠物主人来说&#xff0c;一到挑选主食冻干就头疼。尽管主食冻干为猫咪带来的益处远超过普通猫粮&#xff0c;但其价格也相对较高。因此&#xff0c;许多宠物主人担心高价购买的主食冻干营养价值并不高。实际上&#xff0c;除了营养&#xff0c;安全性和配方也是选购时…

无线麦克风推荐哪些品牌,热门领夹无线麦克风哪个好,看本期文章

​在信息爆炸的今天&#xff0c;高品质的无线领夹麦克风能让声音更清晰响亮。技术发展带来多样化选择同时也带来选择困难。根据多年使用经验和行业反馈&#xff0c;我推荐一系列可靠、易用且性价比高的无线领夹麦克风&#xff0c;助你作出明智选择。还要不知道该怎么选无线领夹…