Python中字符串有哪些常用操作?纯干货超详细

在Python中字符串的表达方式有四种
- 一对单引号
- 一对双引号
- 一对三个单引号
- 一对三个双引号
a = 'abc'
b= "abc"
c = '''abc'''
d = """abc"""
print(type(a)) # <class 'str'>
print(type(b)) # <class 'str'>
print(type(c)) # <class 'str'>
print(type(d)) # <class 'str'>
复制代码
单双引号混合使用
a = "LiMing say 'nice to meet you'"
复制代码
同样也可以通过转义的方式不用在里面写双引号
a = "LiMing say \"nice to meet you\""
print(a)
复制代码
总结就是需要外面用了双引号,里面需要引用的语句可以用单引号括起来,反之亦然。
通常情况根据个人喜好,基本都是使用单引号或者双引号。有些特殊情况,比如需要表示多行时,可以选择三个单(双)引号,并且无序用\进行转移,可直接使用单引号和双引号。
a = '''
My Name is 阿喵,
Let's say 'Hello'
'''
print(a)
复制代码
字符串的下标和切换

下标:字符串是一个个字符拼接而成,下标可以理解为每个字符的编号,从0开始依次类推。
作用:通过下标去操作字符串中的元素
# H的下标为0, e的下标为1 ..依次类推
a = 'HelloWorld' # 获取字符串a中下标为4的元素
print(a[4]) # o 下标为4的元素为o
复制代码
修改字符串中的元素是不是可以直接赋值呢? 例如:
a = 'HelloWorld' a[4] = 'k'
print(a)
复制代码
上面的代码运行之后发现报错。
TypeError: 'str' object does not support item assignment
复制代码
原因是因为: 字符串一旦创建之后,里面的元素是不可以修改的。
所以字符串是无法直接进行修改的。
字符串运算
字符串运算中用到了+ 、*、>、<、!= 、= 等逻辑运算符。
字符串的相加操作,也可以理解为拼接操作。例如:
a = 'Hello' + ' World'
print(a) # Hello World # 也可以写成
a = 'Hello' ' World'
print(a) # Hello World
复制代码
字符串的乘法操作, 可以理解为克隆操作,字符串只能与整数(n)想乘,代表克隆n个字符串。
a = 'a'
print(a * 2) # aa
b = '-'
print(b * 10) # ----------
复制代码
切片
字符串的切片也称为字符串截取。 所有操作都是通过字符串的下标进行操作的。
用法:字符串[开始索引(start):结束索引(end):步长(step)(默认1)]
步长(step):每隔(step-1)个取一个元素,当step为负数时,代表从右向左取元素,
a = 'abcdefghijklmn' # 从下标1开始 到4结束 进行切片 (包括1,不包括4,即左开又闭)
print(a[1:4]) # bcd
print(a[1:8]) # bcdefgh
print(a[1:8:2])# 步长为2, 结果:bdfh # 当补偿为负数时,代表逆向截取。 初始从坐标8开始,每隔一个元素取一个值,到下标为1时结束
print(a[8:1:-2]) # igec
复制代码
字符串的常用操作
这里以代码+注释的方式,展示几个常用的字符串操作。
a = ' Hello World ' # 获取字符串的长度
print(len(a)) # 13 # 删除字符串两边的空格
print(a.strip()) # Hello World # 删除左边的空格
print(a.lstrip()) # Hello World (只删除左边的空格) # 删除字符串右边的空格
print(a.rstrip()) # Hello World # 通过指定连接符 链接字符串
lst = ['LiMing', 'Tom']
print('***'.join(lst)) # LiMing***Tom # 首字母大写
m = 'hello world'
print(m.capitalize()) # Hello world
# 返回标题化字符串,即每个单词首字母大写
print(m.title()) # Hello World # 打印输出字符,将字符串放在中间,
# center(width, fillchar) width: 字符串的总长度, fillchar:填充字符
print(a.center(20, '*')) # *** Hello World **** # 是否以xxx开头
n = 'Hello'
print(n.startswith('H')) # True # 是否以xxx结尾
print(n.endswith('o')) # True # 字符串是全纯英文字符
print(a.isalpha()) # False , 因为字符串a中 ' Hello World ' 有空格,因此返回False
print('HelloWorld'.isalpha()) #True # 判断字符串中是否全部为数字或者英文
print('Hello2World'.isalnum()) # True
print('123'.isalnum()) # True
print('abc&11'.isalnum()) # False # 判断是否为整数
print('123'.isdigit()) # True
print('1.23'.isdigit()) # False # 判断字符是否全为小写
print('abc'.islower()) # True # 判断字符是否全为大写
print('Abc'.isupper()) # False
print('ABC'.isupper()) # True # 字符串小写转大写
print('abc'.upper()) # ABC # 字符串大写转小写
print('ABC'.lower()) # abc # 字符串的替换
b = 'aabbcc'.replace('a', 'm')
print(b) # mmbbcc
# 1 代表替换的个数
b = 'aabbcc'.replace('a', 'm', 1)
print(b) # mabbcc # split 字符串切割,默认空格切割
print('aa bb cc'.split()) # ['aa', 'bb', 'cc']
print('ab,cd,ef'.split(',')) # ['ab', 'cd', 'ef'] # 字符串换行分割
a = """
My Name is 'Python阿喵',
欢迎关注
"""
print(a.splitlines()) # ['', " My Name is 'Python阿喵',", ' 欢迎关注', ' ']
复制代码
字符串的查找
字符串查找常用的方法用index、find
两者功能相似,区别在于find查找不到元素时返回 -1, 不会影响程序运行,而index则会抛出异常。
a = 'abcdef'
# 查找到元素返回对应的下标
print(a.find('c')) # 2
print(a.find('h')) # -1 print(a.index('c')) # 2
print(a.index('h')) # 抛出异常,ValueError: substring not found
复制代码
rfind: 类似于find()函数,不过是从右边开始查找;返回字符串最后一次出现的位置,如果没有匹配项则返回-1 。rindex 同理
a = 'acmncd'
# 从右边开始计算,返回第一个匹配到的下标
print(a.rfind('c')) # 4
print(a.rindex('c')) # 4
复制代码
字符串的格式化
name = 'Python阿喵'
# %s 用于输出字符串
print('我的账号是: %s' % name)
age = 18
# %d 用于输出十进制数字
print('我的年龄是:%d' % age)
money = 1.23
# %f 浮点数,默认显示小数点后6位
print('我身上有:%f 元' % money )
# 指定小数点后的位数
print('我身上有:%.2f 元' % money )
复制代码
format操作

除了使用 % 进行格式化,也可以使用format
print('{} {}'.format('Hello', 'World')) # Hello World
print('{0} {1}'.format('Hello', 'World')) # Hello World
print('账号{name}, 分享{code} 技术'.format(name='Python阿喵', code='Python')) # 账号Python阿喵, 分享Python 技术
print('{1}, {0}, {1}'.format('A', 'B')) #B, A, B
print('今年是 {}年.'.format(2020)) # 今年是 2020年.
复制代码
本文章素材来源于网络,如有侵权请联系删除。
Python中字符串有哪些常用操作?纯干货超详细的更多相关文章
- 【Python从入门到精通】(九)Python中字符串的各种骚操作你已经烂熟于心了么?
您好,我是码农飞哥,感谢您阅读本文,欢迎一键三连哦. 本文将重点介绍Python字符串的各种常用方法,字符串是实际开发中经常用到的,所有熟练的掌握它的各种用法显得尤为重要. 干货满满,建议收藏,欢迎大 ...
- python中字符串(str)的常用处理方法
str='python String function' 生成字符串变量str='python String function' 字符串长度获取:len(str)例:print '%s length= ...
- 超详细!盘点Python中字符串的常用操作
在Python中字符串的表达方式有四种 一对单引号 一对双引号 一对三个单引号 一对三个双引号 a = 'abc' b= "abc" c = '''abc''' d = " ...
- python中字符串的操作方法
python中字符串的操作方法大全 更新时间:2018年06月03日 10:08:51 作者:骏马金龙 我要评论这篇文章主要给大家介绍了关于python中字符串操作方法的相关资料,文中通过示例代码详细 ...
- Python中json的简单读写操作
Python中json的简单读写操作 JSON(JavaScript Object Notation) 是一种轻量级的数据交换格式.它基于ECMAScript的一个子集. JSON采用完全独立于语言的 ...
- python中字符串的几种表达方式(用什么方式表示字符串)
说明: 今天在学习python的基础的内容,学习在python中如何操作字符串,在此记录下. 主要是python中字符串的几种表达,表示方式. python的几种表达方式 1 使用单引号扩起来字符串 ...
- python中 对文件的读写操作 以及如何边写入 边保存flush()
转自:https://blog.csdn.net/t8116189520/article/details/78854708 首先 python中打开文件大致常用的几类如下: 1.写入文件write # ...
- Python中的文件和目录操作实现
Python中的文件和目录操作实现 对于文件和目录的处理,虽然可以通过操作系统命令来完成,但是Python语言为了便于开发人员以编程的方式处理相关工作,提供了许多处理文件和目录的内置函数.重要的是,这 ...
- Python中字符串String的基本内置函数与过滤字符模块函数的基本用法
Python中字符串String的基本内置函数与用法 首先我们要明白在python中当字符编码为:UTF-8时,中文在字符串中的占位为3个字节,其余字符为一个字节 下面就直接介绍几种python中字符 ...
随机推荐
- 【图像增强】CLAHE 限制对比度自适应直方图均衡化
文章目录: 目录 1 基本概述 2 竞赛中的CLAHE实现 3 openCV绘制直方图 4 对比度Contrast 5 Contrast Stretching 6 Histogram Equaliza ...
- SqlAnalyzer1.00源码
SQL解析的夙愿今天终于完成,但限于SQL远超算术表达式,Json,XML等的复杂度,只是解析了一部分.形成普适性的SQL解析,仍需倾注精力. 代码下载:https://files.cnblogs.c ...
- kali linux 开启ssh服务
kali linux 一般默认不开启ssh服务,可使用命令查看ssh服务是否开启 命令:service ssh status 如果显示ssh服务没有开启需要修改ssh配置文件将ssh服务开启,kali ...
- 基础Html重点——防健忘
一.head标签重点 <head> <meta charset="utf-8"> <title>第二天课</title> <! ...
- 来讲讲你对ThreadLocal的理解
前言 面试的时候被问到ThreadLocal的相关知识,没有回答好(奶奶的,现在感觉问啥都能被问倒),所以我决定先解决这几次面试中都遇到的高频问题,把这几个硬骨头都能理解的透彻的说出来了,感觉最起码不 ...
- Linux驱动之设备树的基础知识
前期知识 1. 如何编写一个简单的Linux驱动(一)--驱动的基本框架 2. 如何编写一个简单的Linux驱动(二)--设备操作集file_operations 3. 如何编写一个简单的 ...
- 国产化之路-麒麟V10操作系统安装.net core 3.1 sdk
随着芯片国产化,操作系统国产化,软件国产化的声浪越来越高,公司也已经把开发项目国产化提上了日程,最近搞来了台长城的国产化电脑主机,用来搞试验,安装的是麒麟V10的操作系统,国产化折腾之路就此开始,用的 ...
- Jenkins+Git+Gitlab+Ansible实现持续集成自动化部署动态网站(7)
项目前言 在上一篇博客<Jenkins+Git+Gitlab+Ansible实现持续化集成一键部署静态网站(一)–技术流ken>中已经详细讲解了如何使用这四个工具来持续集成自动化部署一个静 ...
- vue-ajax/axios请求函数封装: axios+promise
项目文件目录/src/api ajax.js /** * ajax 请求函数模块 * 返回值为promise对象 */ import axios from 'axios' export default ...
- Java 基础知识面试题(2020 最新版)
Java面试总结汇总,整理了包括Java基础知识,集合容器,并发编程,JVM,常用开源框架Spring,MyBatis,数据库,中间件等,包含了作为一个Java工程师在面试中需要用到或者可能用到的绝大 ...