Python 基础之字符串操作,函数及格式化format
一.字符串的相关操作
1.字符串的拼接 +
strvar1 = "我爱你,"
strvar2 = "亲爱的姑凉"
res = strvar1 + strvar2
print(res)
2.字符串的重复 *
strvar1 = "重读的事情说三遍"
strvar1 = strvar1*3
print(strvar1)
3.字符串的跨行拼接 \
str1 = "dsdqbidwqdwqdb"\
"ewqhoqheoq"\
"你好明天"
print(str1)
4.字符串的索引
# 0 1 2 3 4 5
strvar = "道路一片光明"
# -6 -5 -4 -3 -2 -1
res = strvar[4]
print(res)
res = strvar[-2]
print(res)
5.字符串的切片:切片就是截取字符串的意思
语法 =》 字符串[::] 完整格式: [开始索引:结束索引:间隔值]
(1)[开始索引] 从开始索引截取到字符串的最后
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔值截取字符
(5)[:] 或[::] 截取所有字符
strvar = "爱往者爱返,福往者福来"
(1)[开始索引] 从开始索引截取到字符串的最后
res = strvar[3:]
print(res)
(2)[:结束索引] 从开头截取到结束索引之前(结束索引-1)
res = strvar[:5]
print(res)
(3)[开始索引:结束索引] 从开始索引截取到结束索引之前(结束索引-1)
res = strvar[6:9]
print(res)
(4)[开始索引:结束索引:间隔值] 从开始索引截取到结束索引之前按照指定的间隔值截取字符
#爱者返福者
# 0 2 4 6 8 爱 者 返 福 者
res = strvar[0:9:2]
print(res)
#end 不写一味的截取到最后
#3 6 9 爱 福 福
res = strvar[:3:3]
print(res)
#start 开始索引不写,意味着从头开始
# 0 4 爱返
res = strvar[:7:4]
print(res)
# 0 2 4 6 8 10 爱返者福者
strvar = "爱返者爱返,福往者福来"
res = strvar[::2]
print(res)
#倒序 -1 -2 -3 -4 。。。
res = strvar[::-1]
print(res)
(5)[:] 或 [::] 截取所有字符串
res = strvar[:]
res = strvar[::]
print(res)
2.字符串相关函数
(函数就是方法的意思,完成某个功能)
语法: 字符串.函数
常见的字符串函数如下:
capitalize 字符串首字母大写
title 每个单词的首字母大写
upper 将所有字母变成大写
lower 将所有字母变成小写
swapcase 大小写互换
len 计算字符串的长度
count 统计字符串中某个元素的数量
find 查找某个字符串第一次出现的索引位置
index 与 find 功能相同 find找不到返回-1,index找不到数据直接报错
startswith 判断是否以某个字符或字符串为开头
endswith 判断是否以某个字符或字符串结尾
isupper 判断字符串是否都是大写字母
islower 判断字符串是否都是小写字母
istitle 判断字符串是否每个单词都首字母大写
isalnum 判断字符串是否是由数字、字母、汉字组成
isalpha 判断字符串是否由字母或文字组成
isdigit 检测字符串数是数字组成 接受二进制字节流
isdecimal 检测字符串是否以数字组成 必须是纯数字
isnumeric 检测字符串是否以数字组成 接受中文"四"
isspace 判断字符串是否由空白符组成
split 按某字符将字符串分割成列表(默认字符是空格)
join 按某字符将列表拼接成字符串(容器类型都可)
splitlines 按换行来进行切分(\n)
zfill 填充字符串(默认填充0,原字符串右对齐)
ljust 填充字符串,原字符居左 (默认填充空格)
rjust 填充字符串,原字符居右 (默认填充空格)
center 填充字符串,原字符居中 (默认填充空格)
strip 默认去掉首尾两边的空白符
rstrip 去掉右边某个字符
lstrip 去掉左边某个字符
replace()
功能: 把字符串的旧字符换成新字符
格式: 字符串.replace('旧字符','新字符'[, 限制替换的次数])
返回值: 替换之后的字符串
#maketrans translate 是一对
maketrans()
功能: 制作用于字符串替换的映射表
格式: 字符串.maketrans('查找字符','替换字符')两个字符必须长度相等
返回值: 字典
translate()
功能: 进行字符串替换操作
格式: 字符串.translate(maketrans返回的字典)
返回值: 替换之后的字符串
以下对一些相对比较常用的进行讲解举例:
1 .capitalize
字符串首字母大写,除了首字母后的字母都会变成小写
strvar = "this is my world"
res = strvar.capitalize() #这句话的首字母变成了大写
print(res)
2.title
每个单词的首字母大写 (非字母类的就可以让后面字符大写)
# strvar = "this is my world"
strvar = "this is 222my ###world" #即使有什么别的数字也能识别到单词并使其首字母变成大写
res = strvar.title()
print(res)
3.upper 将所有字母变成大写
4.lower 将所有字母变成小写
strvar = "abcdefdqd"
res = strvar.upper()
print(res)
res = strvar.lower()
print(res)
5.swapcase 大小写互换
strvar = "aa bYYYYbb cHHHHHc ddd www "
res = strvar.swapcase()
print(res)
6.len 计算字符串的长度
(所有容器类型数据都可以使用len)
strvar = "阿士大夫撒地方撒旦法师打发尽快哈手机看地方撒即可劳动防护"
res = len(strvar)
print(res)
7.conut 统计字符串中某个元素的个数
strvar = "阿士大夫撒地方撒旦法师打发尽快哈手机看地方撒即可劳动防护可以可以可以"
res = strvar.count("可")
print(res)
8.find 查找某个字符串第一次出现的索引位置
find("字符串",start,end) 从哪里找到哪里结束 高位end取不到
如果find没找到 , 返回-1
strvar = "oh Father This is mY Favorate girl , her name is LL"
res = strvar.find("F")
print(res)
res = strvar.find("name")
print(res) #这个单词从41开始
#如果有开始,没有结束,默认查找到最后
res = strvar.find("F",4)
print(res)
res = strvar.find("s",14,16) #-1
print(res)
9.index
与 find 功能相同 find找不到返回-1,index找不到数据直接报错
# index index 和 find 用法一样,只不过如果找不到直接报错
# 推荐使用find ****
# res = strvar.index("!") #ValueError: substring not found
10.startswith endswith
判断是否以某个字符或字符串为开头
endswith startswith("字符串",start,end) 高位end取不到"""
strvar = "oh Father This is mY Favorate girl , her name is LL"
res = strvar.startswith("oh")
print(res) #判断Ture 或 False
res = strvar.endswith("L")
print(res)
print(len(strvar))
#有点问题
res = strvar.endswith("s",6,47) #
print(res)
res = strvar.endswith("r",-6,-1)
print(res)
#自己举的例子
s = "1234567"
res = len(s)
print(res)
res = strvar.endswith("5",1,4)
print(res)
11.isalpha 判断字符串是否由字母或文字组成
strvar = "sddfqwfqfqwq321231"
print(strvar.isalpha())
strvar = "qweqeqeq是你"
print(strvar.isalpha())
12.isdigit
检测字符串数是数字组成 接受二进制节流(可以用于检测字符串是否是数字)
strvar = "12345678954321"
res = strvar.isdigit()
print(res)
#
二进制字节流:用来存储或传输数据用的一种数据
语法: b'字符串' b后面的字符串只能是ascii编码中的字符集
byte 字节 bytes 字节流
'a' 字符 "aaa" 字符串
如果是中文字符 ,需要用encode 和 decode
strvar = b'123456'
print(strvar,type(strvar))
# strvar = b"中国人站起来了" #error 因为编码不识别
# print(strvar)
res = strvar.isdigit()
print(res)
13.isdecimal
检测字符串是否以数字组成 必须是纯数字
strvar = "2132546"
#star = b'23456' #error
res = strvar.isdecimal()
print(res)
14.split
按某字符将字符串分割成列表(默认字符是空格)
strvar = "you can you up no can no bb"
res = strvar.split() #默认按照空格分隔
print(res)
strvar = "you:can:you:up:no:can:no:bb"
res = strvar.split(":")
print(res)
#可以接受2个参数,第二个参数意味着分隔几次(从左到右)
res = strvar.split(":",3) #意思只分隔三次,另外的不分
print(res)
#可以反向分隔 rsplit (从右到左)
res = strvar.rsplit(":",2)
print(res)
15.join
按某字符将列表拼接成字符串 (容器类型都可)
lst = ['you', 'can', 'you', 'up', 'no', 'can', 'no', 'bb']
res = '+'.join(lst)
print(res)
res = '|'.join(lst)
print(res)
res = ' '.join(lst)
print(res)
16.center 填充字符串,原字符居中 (默认填充空格)
原字符个数+要填充的字符一共10个
例:
strvar = "你好"
res = strvar.center(10,"!") #可以选择要填充的符号
print(res)
res = strvar.center(10) #如果不写默认填充空格
print(res)
17.strip
默认去掉首尾两边的空白符 (空格 \n \t \r\n)
#可用于input输入后
strvar = "\t 大妹子真漂亮 \n"
print(strvar)
res = strvar.strip()
print(res)
18.replace()
# replace("原字符串","要替换的字符串",[可选择替换几次])
strvar = "可爱滴小狼狗喜欢吃肉,有没有,有没有,还有没有"
res = strvar.replace("有没有","真没有")
print(res)
res = strvar.replace("有没有","真没有",1) #只换了一次
print(res)
还有以下没有举例子的字符串的方法:
isupper 判断字符串是否都是大写字母
islower 判断字符串是否都是小写字母
istitle 判断字符串是否每个单词都首字母大写
isalnum 判断字符串是否是由数字、字母、汉字组成
isnumeric 检测字符串是否以数字组成 接受中文"四"
isspace 判断字符串是否由空白符组成
splitlines 按换行来进行切分(\n)
zfill 填充字符串(默认填充0,原字符串右对齐)
ljust 填充字符串,原字符居左 (默认填充空格)
rjust 填充字符串,原字符居右 (默认填充空格)
rstrip 去掉右边某个字符
lstrip 去掉左边某个字符
三.字符串的格式化.format
语法: {} 来进行占位
(1)顺序传参
(2)索引传参
(3)关键字传参
(4)容器类型数据(列表或元组)传参
(5)format的填充符号的使用( ^ > < )
(6)进制转换等特殊符号的使用( :d :f :s :, )
1.顺序传参
strvar = "{}给{}一个飞吻".format("LT","HXD")
print(strvar)
2.索引传参
strvar = "{1}向{0}开了一枪,饮弹而亡".format("王杰","周亮")
print(strvar)
3.关键字传参
strvar = "{hjy}对{zyw}进行扫射,鸡飞狗跳,狗急跳墙".format(zyw="张文",hjy="黄勇")
print(strvar)
4.容器类型传参
#(1)
strvar = "{0[1]}向{1[1]}发一份情书和一张私人照片,鼻血直冒三千尺".format(["黄一政","刘五星","熊华"],("素江南","陈浩"))
print(strvar)
#(2)如果是字典,场景发生在format字符串格式化当中,主要通过键取值时,不要加上引号
strvar = "{group1}向{group2[sjn]}发一份情书和一张私人照片,鼻血直冒三千尺"
res = strvar.format(group1 = ["黄一政","刘五星","熊华"],group2 = {"sjn":"素江南","ch":"陈浩"})
print(res)
5.format的填充符号的使用( ^ > < )
{who:*<10}
^ > <
^ :原字符串居中
> : 原字符串居右
< :原字符串居左
10 : 原字符 + 要填充的字符串 一共 10 个
strvar = "{who:*^10}在长春长生{something:>>10},心情{feel:!<10}"
res = strvar.format(who="潘伟成",something="扎一打疫苗",feel="爽歪歪")
print(res)
6.进制转换等特殊符号的使用(:d :f :s :,)
# :d 整型占位符
strvar = "潘柏买了{:d}个兰博基尼"
res = strvar.format(10)
print(res)
#:3d
strvar = "潘柏买了{:3d}个兰博基尼"
res = strvar.format(10) #默认居右
print(res)
#:^3d
strvar = "潘柏买了{:^3d}个兰博基尼"
res = strvar.format(10) #居中
print(res)
strvar = "潘柏买了{:>4d}个兰博基尼"
res = strvar.format(10) #居右
print(res)
strvar = "潘柏买了{:<4d}个兰博基尼"
res = strvar.format(10) #居左
print(res)
#:f 浮点型占位符98,94, :.2f小数保留2位
strvar = "许经雄体重{:.2f}斤"
res = strvar.format(98.32131321)
print(res)
#:s 字符串占位符
strvar = "{:s}"
res = strvar.format("好看的皮囊千篇一律,有趣的灵魂200多斤")
print(res)
#:,金钱占位符
strvar = "{:,}"
res = strvar.format(2313131)
print(res)
Python 基础之字符串操作,函数及格式化format的更多相关文章
- (Python基础)字符串操作
以下是我在学习过程中用的一些常用字符串操作的相关列子和具体注释,感兴趣的可以自己动手试试看 #字符串操作 name = 'my name is keep' print(name.capitalize( ...
- Python基础之字符串操作
字符串的常用操作包括但不限于以下操作: 字符串的替换.删除.截取.复制.连接.比较.查找.分割等 这里将对字符串的内置操作方法进行总结归纳,重点是以示例的方式进行展示. 使用type获取创建对象的类 ...
- Python中字符串操作函数string.split('str1')和string.join(ls)
Python中的字符串操作函数split 和 join能够实现字符串和列表之间的简单转换, 使用 .split()可以将字符串中特定部分以多个字符的形式,存储成列表 def split(self, * ...
- Python基础数据类型-字符串(string)
Python基础数据类型-字符串(string) 作者:尹正杰 版权声明:原创作品,谢绝转载!否则将追究法律责任. 本篇博客使用的是Python3.6版本,以及以后分享的每一篇都是Python3.x版 ...
- 十六. Python基础(16)--内置函数-2
十六. Python基础(16)--内置函数-2 1 ● 内置函数format() Convert a value to a "formatted" representation. ...
- python基础篇(文件操作)
Python基础篇(文件操作) 一.初始文件操作 使用python来读写文件是非常简单的操作. 我们使用open()函数来打开一个文件, 获取到文件句柄. 然后通过文件句柄就可以进行各种各样的操作了. ...
- 一句python,一句R︱python中的字符串操作、中文乱码、NaN情况
一句python,一句R︱python中的字符串操作.中文乱码.NaN情况 先学了R,最近刚刚上手Python,所以想着将python和R结合起来互相对比来更好理解python.最好就是一句pytho ...
- JavaScript中常见的字符串操作函数及用法
JavaScript中常见的字符串操作函数及用法 最近几次参加前端实习生招聘的笔试,发现很多笔试题都会考到字符串的处理,比方说去哪儿网笔试题.淘宝的笔试题等.如果你经常参加笔试或者也是一个过来人,相信 ...
- 十五. Python基础(15)--内置函数-1
十五. Python基础(15)--内置函数-1 1 ● eval(), exec(), compile() 执行字符串数据类型的python代码 检测#import os 'import' in c ...
随机推荐
- linux使用wget下载https开头url的文件
可以使用命令 : 比如我们可以修改成: wget --no-check-certificate https://我们下载文件路径 来自: http://www.laozuo.org/3648.html
- iOS 开发之函数式编程思想(Functional Programming)
函数式编程(Functional Programming), 函数式编程强调的函数:1.不依赖外部状态:2.不改变外部状态. 函数式编程可解决线程安全问题,每一个函数都是线程安全的. 时间状态:变量一 ...
- SIMS(secondary ion mass spectroscopy)二次离子质谱
1.仪器介绍 二次离子质谱(SIMS)是一种用于通过用聚焦的一次离子束溅射样品表面并收集和分析喷射的二次离子来分析固体表面和薄膜的组成的技术.SIMS是最灵敏的表面分析技术,元素检测限为百万分之几到十 ...
- 前端 9.16腾讯-2019校园招聘(正式卷)编程题题解(js)
第一题 和谐的数字 牛牛很喜欢研究数字.一天,他发明了一种数字,叫做“和谐的数字”. 和谐的数字定义如下: 定义S(n)为数字n各位数字之和,如果S(n)能够整除n,那么就称n为一个“和谐的数字”. ...
- Java入门笔记 03-面向对象(下)
介绍:除了前面介绍的关于类.对象的基本语法之外,下面继续介绍Java面向对象的特性. 一. 包装类: 从JDK 1.5以后,Java就提供了自动装箱和自动拆箱操作,即: 自动装箱:将一个基本类型的变量 ...
- 思科室外AP无法注册到WLC
思科的一些新的室外AP,在购买回来时,有时候会出现无法加入WLC的情况,现象基本是无法加入,或感觉加入了,立马又掉了. 例如: AIR-AP1562E-H-K9 AIR-AP1572EAC-H-K9 ...
- netty代理http&https请求
(1)关键代码 package test; import java.security.cert.CertificateException; import javax.net.ssl.SSLExcept ...
- 【原】python3.6安装python-dev
[root@ci /usr/lib64/python3.6]# yum -y install python36-devel
- 02-12Android学习进度报告十二
今天学习了ListView的焦点问题,基本了解了ListView的使用内容. 首先可以为抢占了控件的组件设置:android:focusable="false" 只需为抢占了Lis ...
- 工业现场总线和工业以太网和工业IIOT
IIoT 称为工业物联网 ,包括机器的预测性维护和生产单元的自动化控制.以更高的速度获取和访问更大量的数据,打破数据孤岛,并将所有人员,数据和流程从工厂车间连接到执行办公室.企业领导者可以使用 IIo ...