Day7 字符串详解——python学习之路
字符串
- 字符串简单操作
- 拼接 '+'
- 重复 '*'
- 切片 [ ]
- 字符串的格式化方法
- format
- 普通方式传参
- 索引传参
- 关键字传参
- 容器类型数据传参
- 限定小数的位数
- 通过f' '格式化
- 英文字符与字符检测相关函数
- 大小写转换
- capitalize()
- title()
- upper()
- lower()
- swapcase()
- 字符检测方法
- isupper()
- islower()
- istitle()
- isalnm()
- isalpha()
- isdigit()
- isspace()
- startswith()
- endswith()
- 字符串查找与操作相关的函数(重点)
- 字符串查找相关函数
- in
- len()
- find()
- rfind()
- index()
- rindex()
- count()
- 字符串操作相关函数
- split()
- join()
- strip()
- replace()
- center()
字符串简单操作
拼接 ‘+’
str1 = '蛋黄的长裙, '
str2 = '蓬松的头发'
print(str1+str2)#(输出) 蛋黄的长裙, 蓬松的头发
重复 ‘*’
varstr = '驰名双标,' * 3
print(varstr)#(输出) 驰名双标,驰名双标,驰名双标,
切片 [ ]
- 字符串的索引操作,只能访问,不能进行修改操作
- 语法:[开始值 : 结束值 : 步进值]
- 开始值:默认为0;结束值:默认最后一个字符的下标;步进值:默认为1
varstr = '长风破浪会有时,直挂云帆济沧海'# 从头取到尾
print(varstr[::]) #(输出) 长风破浪会有时,直挂云帆济沧海# 获取指定下标的元素
print(varstr[1]) #(输出) 风# 从下标1开始取值, 一直到下标5之前, 左闭右开
print(varstr[1:5]) #(输出) 风破浪会# 步进值为2
print(varstr[::2]) #(输出) 长破会时# 步进值为负数, 反向输出
print(varstr[::-1]) #(输出) 海沧济帆云挂直,时有会浪破风长
字符串的格式化方法
format
普通方式传参
a = '卧底'
varstr = '柯南里的酒厂成员, {} {} {} {} {} {}'.format(a,a,a,'叛徒',a,a)
print(varstr)#(输出) 柯南里的酒厂成员, 卧底 卧底 卧底 叛徒 卧底 卧底
索引传参
varstr = '名侦探柯南cp大队: 小兰cp{0}, {2}cp赤井秀一'.format('新一', '目暮警官', '宫野明美')
print(varstr)#(输出) 名侦探柯南cp大队: 小兰cp新一, 宫野明美cp赤井秀一
关键字传参
varstr = '被誉日本警察的救世主:{a}, 女扮男装的高智商侦探:{b}'.format(a='工藤新一', b='世良真纯')
print(varstr)#(输出) 被誉日本警察的救世主:工藤新一, 女扮男装的高智商侦探:世良真纯
容器类型数据传参
# 字典传参
data = {'a':'服部平次', 'b':'毛利小五郎'}
varstr = '关西的高中生侦探:{a}, 毛利侦探事务所一把手:{b}'.format(**data)
print(varstr)
#(输出) 关西的高中生侦探:服部平次, 毛利侦探事务所一把手:毛利小五郎# 列表传参
varstr = '赤井秀一: {0[0]}, 水无伶奈: {0[0]}, 琴酒: {0[1]}, 伏特加: {1[1]}'.format(['卧底','劳模'], ['侦探', '司机'])
print(varstr)
#(输出) 赤井秀一: 卧底, 水无伶奈: 卧底, 琴酒: 劳模, 伏特加: 司机
限定小数的位数
varstr = '圆周率: {:.2f}'.format(3.1415926)
print(varstr)#(输出) 圆周率: 3.14
通过f’ '格式化
- python3.7中新增的 格式化方法 f方法(找到括号里变量对应的内容并解析)
data = {'a':'铃木园子','b':'工藤新一'}
varstr = f'小兰的闺蜜是{data["a"]}, 青梅竹马是{data["b"]}'
print(varstr)#(输出) 小兰的闺蜜是铃木园子, 青梅竹马是工藤新一
英文字符与字符检测相关函数
大小写转换
capitalize()
- str.capitalize() 返回原字符串的副本, 如果第一个字符是英文字符, 转成大写字符, 其余为小写
varstr = 'shopping at a mall'
res = varstr.capitalize()
print(res)
#(输出) Shopping at a mall
title()
- str.title() 返回原字符串的副本, 把字符串中的每个单词首字母大写
varstr = 'shopping at a mall'
res = varstr.title()
print(res)
#(输出) Shopping At A Mall
upper()
- str.upper() 把字符串中的英文字母全部转为大写
varstr = 'shopping at a mall'
res = varstr.upper()
print(res)
#(输出) SHOPPING AT A MALL
lower()
- str.lower() 把字符串中的英文字母全部转为小写
varstr = 'SHOPPING AT A MALL'
res = res.lower()
print(res)
#(输出) shopping at a mall
swapcase()
- str.swapcase() 把字符串里的英文字符大写转小写, 小写转大写
varstr = 'SHOPPING AT a mall'
res = varstr.swapcase()
print(res)
#(输出) shopping at A MALL
字符检测方法
isupper()
- str.isupper() 检测当前的字符串中的英文字符是否全部由大写字符组成
varstr = 'shopping at a mall'
print(varstr.isupper())
#(输出) False
islower()
- str.islower() 检测当前的字符串中的英文字符是否全部由小写字符组成
varstr = 'shopping at a mall'
print(varstr.islower())
#(输出) True
istitle()
- str.istitle() 检测当前字符串中的每个英文单词是否符合首字母大写
varstr = 'Shopping At A Mall'
print(varstr.istitle())
#(输出) True
isalnm()
- str.isalnm() 检测当前的字符串是否由字符(中文, 英文字符, 数字)组成
varstr = 'shopping at a mall' # 字符串里有空格,所以为False
print(varstr.isalnum())
#(输出) False
isalpha()
- str.isalpha() 检测当前的字符串是否由中英文字符组成
varstr = '我love你'
print(varstr.isalpha())
#(输出) True
isdigit()
- str.isdigit() 检测当前的字符串是否由数字字符组成
varstr = '123456'
print(varstr.isdigit())
#(输出) True
isspace()
- str.isspace() 检测当前的字符串是否由空格字符组成
varstr = ' '
print(varstr.isspace())
#(输出) True
startswith()
- str.startswith() 检测一个字符串是否由指定的字符开始, 可以指定开始与结束位置, 默认从头(0)开始检测, 结束一般不写
varstr = 'shopping at a mall'
print(varstr.startswith('shop')) #(输出) True
print(varstr.startswith('i', 5)) #(输出) True
endswith()
- str.endswith() 检测一个字符串是否由指定的字符结尾, 可以指定开始与结束位置
varstr = 'shopping at a mall'
print(varstr.endswith('all')) #(输出) True
# 0-8区间内的字符是否以'ing'结尾
print(varstr.endswith('ing', 0, 8)) #(输出) True
字符串查找与操作相关的函数(重点)
字符串查找相关函数
in
- 检测一个字符串是否存在于另一个字符串中
varstr = 'Touch the air once again miss you breath'
print('is' in varstr)
#(输出) True
len()
- 获取字符串的长度
varstr = 'Touch the air once again miss you breath'
print(len(varstr))
#(输出) 40
find()
- str.find() 从左向右查找指定字符在字符串中第一次出现的索引位置, 未找到则返回-1, (可选)指定开始与结束位置
varstr = 'Touch the air once again miss you breath'
print(varstr.find('is', 0, 17))
#(输出) -1
rfind()
- str.rfind() 从右向左查找指定字符在字符串中第一次出现的索引位置, 未找到则返回-1, (可选)指定开始与结束位置
varstr = 'Touch the air once again miss you breath'
print(varstr.rfind('a', 0, 17))
#(输出) 10
index()
- str.index() 使用同find方法一样, 但没有找到则报错
varstr = 'Touch the air once again miss you breath'
print(varstr.index('is', 0, 17))
#(报错) ValueError: substring not found
rindex()
- str.rindex() 同rfind方法一样, 没有找到则报错
count()
- str.count() 统计一个字符串在另一个字符串中出现的次数
varstr = 'Touch the air once again miss you breath'
print(varstr.count('u'))
#(输出) 2
字符串操作相关函数
split()
- 按照指定的字符进行分隔,把一个字符串分隔成一个列表,(可选)并可以选定分隔次数,rsplit()会从后往前开始分隔
varstr = 'uid_admin_id_123'
res = varstr.split('_')
print(res) #(输出) ['uid', 'admin', 'id', '123']
# 分隔2次
res = varstr.split('_', 2)
print(res) #(输出) ['uid', 'admin', 'id_123']
join()
- str.join() 按照指定的字符, 把容器类型中的数据连接成一个字符串
arr = ['Cease', 'to', 'struggle', 'and', 'you', 'cease', 'to', 'live']
res = ' '.join(arr)
print(res)
#(输出) Cease to struggle and you cease to live
strip()
- str.strip() 可以去除字符串左右两侧的指定字符,默认去除空白和换行
- str.lstrip() 去除字符串左侧的指定字符
- str.rstrip() 去除字符串右侧的指定字符
vars = '****这是一个文章的标题**'
res = vars.strip('*')
print(res)
#(输出) 这是一个文章的标题
replace()
- str.replace() 替换, 可以指定替换次数
vars = 'i love you'
res = vars.replace('love', 'like')
print(res)
#(输出) i like you
center()
- str.center() 使用指定字符填充至指定长度, 不写默认用空格填充
- str.ljust() 在后边填充
- str.rjust() 在前边填充
vars = 'love'
res = vars.center(11,'*')
print(res)
#(输出) ****love***# str.ljust() 在后边填充
res = vars.ljust(8,'*')
print(res)
#(输出) love****# str.rjust() 在前边填充
res = vars.rjust(8,'*')
print(res)
#(输出) ****love
Day7 字符串详解——python学习之路相关推荐
- python 安装pandas 权限不够_详解Python学习之安装pandas
一.python pip的安装与使用 1.pip 是 python 包管理工具,该工具提供了对python 包的查找.下载.安装.卸载的功能. 目前如果你在 python.org 下载最新版本的安装包 ...
- mavlink协议详解_MAVLink学习之路05_ MAVLink应用编程接口分析
描述 MAVLink应用编程主要内容 2.1 发送和接收说明 利用MAVLink通信协议进行编程,主要实现的功能就是: 1.发送端 将需要发送的数据(如:SysState, BatVol),添加MAV ...
- SVN使用 IDEA集成SVN SVN简介 SVN使用详解 SVN学习之路
文章目录 SVN介绍与使用 一.SVN引入 1. SVM服务器搭建 2. 需要了解的关键词 3. 如何让系统共享信息,并且不互相干扰. 4. SVN架构 二. SVN的操作 1. 安装tortoise ...
- python比较两个字符串相似度_详解Python 字符串相似性的几种度量方法
字符串的相似性比较应用场合很多,像拼写纠错.文本去重.上下文相似性等. 评价字符串相似度最常见的办法就是:把一个字符串通过插入.删除或替换这样的编辑操作,变成另外一个字符串,所需要的最少编辑次数,这种 ...
- python 字符串替换_Python基础教程,第四讲,字符串详解
本节课主要和大家一起学习一下Python中的字符串操作,对字符串的操作在开发工作中的使用频率比较高,所以单独作为一课来讲. 学完此次课程,我能做什么? 学完本次课程后,我们将学会如何创建字符串,以及如 ...
- 站长在线Python精讲:在Python中使用split()方法分割、使用join()方法合并字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用split()方法分割.使用join()方法合并字符串详解>.本知识点主要内容有:在Python中使用s ...
- 站长在线python精讲:在Python中使用“+”运算符来拼接字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用"+"运算符来拼接字符串详解>.本知识点主要内容有:在Python中,我们可以使用& ...
- 站长在线Python精讲:在Python中使用正则表达式的sub()方法替换字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的sub()方法替换字符串详解>. 在Python中使用正则表达式的sub()方法替换字符串. ...
- 站长在线Python精讲:在Python中使用正则表达式的split()方法分割字符串详解
欢迎你来到站长在线的站长学堂学习Python知识,本文学习的是<在Python中使用正则表达式的split()方法分割字符串详解>. 使用正则表达式分割字符串 在Python中使用正则表达 ...
最新文章
- 惠普z840工作站linux,全模块战神 惠普旗舰级Z840工作站评测
- 工程院院士李德毅:认知的三次革命,类脑的五条启发
- Windows Server Backup 裸机恢复
- C#LeetCode刷题-拒绝采样
- php 不能运行,PHP 环境不能正常运行
- [SAP ABAP开发技术总结]以二进制、字符模式下载文件
- PostFix postqueue 指令
- 集群ddos_《DNS攻击防范科普系列2》 -DNS服务器怎么防DDoS攻击
- 台达DVP PLC与3台西门子V20变频器通讯程序 台达PLC与3台西门子变频器通讯
- 【opencv-ml】支持向量机简介
- Android文件MD5/SHA1/SHA256校验
- 劫持 64 位静态程序 fini_array 进行 ROP 攻击
- 一题多做--杨辉三角形
- 史记翻译-汉初三杰-韩信-淮阴侯列传第三十二
- 短视频行业内情分析-今抖云创
- 英语语法:词法之非谓语动词--起式
- c#根据年月获取所有日期集合、根据年份计算总周数,根据年份和周数获取一周的开始及结束时间
- Java基础——面向对象(中级)
- 【线段树】[LUOGU 守墓人] [LUOGU 维护序列] 线段树模板题
- 解决浏览器不支持display:flex的问题
热门文章
- Python:实现aliquot sum等分求和算法(附完整源码)
- 新海诚没有参与制作的作品_超豪华的制作团队只有这一次——新海诚《你的名字》访谈(下)...
- mysql root password_MYSQL安装时解决要输入current root password的方案
- xml使用非常简单,只需要如下
- java后门_Java做后门?
- 源码编译、安装gcc 7
- 计算机操作系统相关论文,计算机操作系统的基本功能及应用论文
- Uni-app APP开发、适配指北
- [转贴]去除迅雷广告和弹出广告窗口
- 抓包工具在测试中的作用