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,一经查实,立即删除!

相关文章

第四届人工智能、机器人和通信国际会议(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链接: 【…

Python4 操作MySQL数据库

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

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

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

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

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

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

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

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

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

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

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

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

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

Flutter【组件】按钮

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

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

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

如何在React中使用CSS模块,并解释为什么使用它们比传统CSS更有益?

在React中使用CSS模块是一种将CSS类名局部化到单个组件的方法&#xff0c;从而避免了全局作用域中的类名冲突。CSS模块允许你为组件编写样式&#xff0c;并确保这些样式只应用于该组件&#xff0c;而不会影响到其他组件。 以下是在React中使用CSS模块的步骤&#xff1a; 安装C…

医疗器械3D全景展会在线漫游创造数字化时代的展览新篇章

在数字化浪潮的引领下&#xff0c;VR虚拟网上展会正逐渐成为企业展示品牌实力、吸引潜在客户的首选平台。我们与广交会携手走过三年多的时光&#xff0c;凭借优质的服务和丰富的经验&#xff0c;赢得了客户的广泛赞誉。 面对传统展会活动繁多、企业运营繁忙的挑战&#xff0c;许…

深入浅出Git原理与Gitflow流程

1 Git原理 版本控制系统在软件开发和团队协作中扮演着至关重要的角色。它们帮助开发人员跟踪和管理代码的变化&#xff0c;协调多人同时编辑同一代码库&#xff0c;回溯历史版本&#xff0c;并解决代码冲突等问题。Git作为当今最流行的分布式版本控制系统&#xff0c;为开发人…

C++ 59 之 纯虚函数和抽象类

#include <iostream> #include <string> using namespace std;class Cal { // 类中有纯虚函数&#xff0c;这个类也叫做抽象类&#xff0c;无法实现实例化 public:int m_a;int m_b;// 虚函数// virtual int getRes(){// return 0;// }// 纯虚函数 作用和虚函数…

Python第二语言(十三、PySpark实战)

目录 1.开篇 2. PySpark介绍 3. PySpark基础准备 3.1 PySpark安装 3.2 掌握PySpark执行环境入口对象的构建 3.3 理解PySpark的编程模型 4. PySpark&#xff1a;RDD对象数据输入 4.1 RDD对象概念&#xff1a;PySpark支持多种数据的输入&#xff0c;完成后会返回RDD类的对…

有关计算素数的算法

归纳编程学习的感悟, 记录奋斗路上的点滴, 希望能帮到一样刻苦的你! 如有不足欢迎指正! 共同学习交流! 🌎欢迎各位→点赞 👍+ 收藏⭐ + 留言​📝黑暗的笼罩更会凸显光明的可贵! 一、引言 什么是素数 素数,也被称为质数,是指在大于1的自然数中,只能被1和它本身…

[Shell编程学习路线]——for循环应用技巧 语法和案例

&#x1f3e1;作者主页&#xff1a;点击&#xff01; &#x1f6e0;️Shell编程专栏&#xff1a;点击&#xff01; ⏰️创作时间&#xff1a;2024年6月20日16点21分 &#x1f004;️文章质量&#xff1a;96分 目录 ————前言———— for 循环语句 基本结构 图示原理…

【启明智显产品分享】Model3工业级HMI芯片详解系列专题(三):安全、稳定、高防护

芯片作为电子设备的核心部件&#xff0c;&#xff0c;根据不同的应用领域被分为不同等级。工业级芯片适用于工业自动化、控制系统和仪器仪表等领域&#xff0c;对芯片的安全、稳定、防护能力等等有着较高的要求。这些芯片往往需要具备更宽的工业温度范围&#xff0c;能够在更恶…

分布式锁三种方案

基于数据库的分布式锁&#xff08;基于主键id和唯一索引&#xff09; 1基于主键实现分布式锁 2基于唯一索引实现分布式锁 其实原理一致&#xff0c;都是采用一个唯一的标识进行判断是否加锁。 原理&#xff1a;通过主键或者唯一索性两者都是唯一的特性&#xff0c;如果多个…