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.mzph.cn/web/30775.shtml

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

相关文章

案例分享:高科技企业产品管理部门设置和产品经理岗位设置

汉捷咨询曾遇到过一则有关产品管理部门建设和产品经理岗位设置的典型案例,本文中与大家分享,希望能为大家带来一些思考和启发。 A公司决策层最近为产品管理部门设置的事情颇为头痛。A公司是北京一家IC设计企业,多年来排名行业前3名&#xff…

opencv 打开图片后,cv::mat存入共享内存的代码,如何设置队列?

参考 https://blog.csdn.net/BrilliantAntonio/article/details/120606129 分析 执行Add操作时,随机产生一个大写英文字母模拟产品,放入缓冲区,同时调整队尾指针end.执行Remove操作时,将当前缓冲区资源清空,同时调整…

羊毛群的商业逻辑

前言 近几个月,同事们在用餐时偶尔会分享一些群分享的领券链接。 起初,这引起了我一些疑惑。经过一番了解,我发现这个看似充满优惠的社群,实则是一个展现商业智慧的舞台。 在这里,商家找到了一个有效的营销渠道&…

OpenCV--Mat属性和深浅拷贝

Mat属性和深浅拷贝 代码和笔记 代码和笔记 import cv2 import numpy as np""" Mat属性 dims:维度 rows:行数 cols:列数 depth:像素的位深 channels:通道数 RGB 3 size:矩阵大小 type:类型 data:存放数据Mat的深浅拷贝-在python中即ndarray的深浅拷贝 "&qu…

第四届人工智能、机器人和通信国际会议(ICAIRC 2024)

第四届人工智能、机器人和通信国际会议(ICAIRC 2024) 2024 4th International Conference on Artificial Intelligence, Robotics, and Communication 2024年12月27-29日 | 中国厦门 重要信息 会议官网:www.icairc.net 录用通知时间&…

▶《强化学习的数学原理》(2024春)_西湖大学赵世钰 Ch1 基本概念

PPT 截取有用信息。 课程网站做习题。总体 MOOC 过一遍 1、视频 学堂在线 习题 2、相应章节 过电子书 复习 3、总体 MOOC 过一遍 学堂在线 课程页面链接 中国大学MOOC 课程页面链接 B 站 视频链接 PPT和书籍下载网址: 【github链接】 onedrive链接: 【…

基于低代码开发平台的科技管理系统构建:简化运维,提升效率

随着科技的发展,企业对管理系统的需求日益增长。为了满足这一需求,本文介绍了一种基于低代码开发平台的科技管理系统构建方法。通过简化开发流程、提高运维效率,该系统能够帮助企业实现科技管理的高效运作。 引言 在当今信息化时代&#xff0…

Python4 操作MySQL数据库

通过python的pymysql库连接到本地的MySQL数据库,并执行查询操作来获取数据,然后打印出每一行的数据,这里以一个简单的学生表为例进行介绍。 1. MySQL的安装与数据准备 首先需要安装MySQL,在安装完成之后使用Navicat与本地数据库…

Docker 部署项目,真的太雅了~

大家好,我是南城余! 最近在找工作,正好手里有台服务器,之前项目上线用的宝塔部署项目上线,在公司实习了一年后,发现如今项目部署都使用的是容器化部署方案,也就是类似于和 Docker 一样的部署方案…

对于图片转3d人脸方面的研究

1.一个开源的可以运行的项目(face3d/README.md at master yfeng95/face3d GitHub) 在配置好环境后,让我们一个一个py文件运行它(我将给出中文注释) 1)1_pipeline.py 将一个3d头像的mat文件转换为jpg…

海外仓系统能解决海外仓哪些难题?海外仓标准化管理实用指南

海外仓管理问题常常导致业务流程变慢,根据我们的调查显示,至少有48%的海外仓每周都会出现一些“小意外”。甚至这些小问题每天都在发生,问题的出现已经严重影响到了海外仓业务的进行。今天我们将重点分析海外仓比较常见的一些问题&#xff0c…

springboot vue 开源 会员收银系统 (7) 收银台的完善 新增开卡 结算

前言 完整版演示 开发版演示 在前面的开发中,我们成功完成了商品分类和商品信息的搭建,开发了收银台基础。现在,我们将进一步完善收银台的功能,添加开卡和结算功能,并在后台实现会员卡的创建和订单保存。同时&#xff…

使用 Monkey Patch 解决 Sahi 可视化的中文乱码问题

其实如果是对算法的输出结果进行可视化的话,使用 Pillow 库是完全没有问题的。但是存在着这样一种情况,我们调用的公共包当中,里面已经有了可视化的接口,但是使用的是 OpenCV 中的 cv2.putText 进行可视化的。正常来说&#xff0c…

地瓜网络技术综合助手教你一键下载腾讯会议高清视频

当您错过腾讯会议的直播课程,不必担心,地瓜网络技术综合助手帮您轻松获取视频回放。 只需几个简单步骤,即可在手头保留珍贵的学习资料。 首先,启动地瓜网络技术综合助手, 进行软件初始化并开启监测功能。 接下来&…

智慧乡村和美人家信息化系统

一、简介 智慧乡村和美人家信息化系统是一个综合管理平台,集成了首页概览、一张图可视化、数据填报、智能评估、便捷申报、公开公示、任务管理、活动发布和灵活配置等功能。该系统不仅提升了乡村管理效率,也优化了家庭生活的便捷性。通过一张图&#xf…

BEVM背靠比特大陆打造新赛道,算力RWA成下一个千亿市场?

众所周知,在加密行业,每隔一段时间就会有一个新的概念或者一个新词出现,并引来社区和资本的追捧关注,笔者近期在浏览新闻时,发现了一个特别有意思的新概念——算力RWA,在社区引起了不少讨论。 该词最早出现…

工时管理系统的优势及推荐

企业发展离不开每一个员工,而员工的工作效率高低也是影响着企业在行业内的竞争力,所以规范管理员工时间,提升员工工作效率势在必行。工时管理系统在现代企业中的应用越来越广泛,不仅是因为它能显著提高企业管理效率,更…

Flutter【组件】按钮

简介 flutter 按钮组件。提供一种封装按钮组件的思路,并不支持过多的自定义属性。根据使用场景及设计规范进行封装,使用起来比较方便。 github地址:https://github.com/ThinkerJack/jac_uikit pub地址:https://pub.dev/package…

IOS 关于Apple Pay 与内购

一、什么是Apple Pay、什么是内购 首先这两个不是一样的,很多人一看觉得这两是一回事,我之前也是这么想的。今天我来给大家阐述一下: Apple Pay:是指支付实物类。类似国内的微信、支付宝。支付超市食品类啥的。 内购&#xff1…

el-upload组件校验不通过预览列表依然显示图片问题解决

如图校验不通过的图片依然显示在预览列表了&#xff0c;需要在校验不通过的时候移除图片 <el-uploadclass"upload-cls":action"ossSignature.host":auto-upload"false"ref"upload":list-type"listType":limit"limi…