在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极客专栏',", ' 欢迎关注', ' ']

字符串的查找

字符串查找常用的方法用indexfind

两者功能相似,区别在于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中字符串的常用操作的更多相关文章

  1. python中字符串(str)常用操作总结

    # 字符串的常用操作方法 (都是形成新的字符串,与原字符串没有关系.) 1.字符串的基本操作之切片 s = 'python hello word' # 取首不取尾,取尾要+1 # 切片取出来的字符串与 ...

  2. python之字符串的常用操作(转)

    1. 字符串的操作 字符串的连接操作 符号: + 格式:str1 + str2 例如:str1 = 'I Love' str2 = 'You!' print(str1 + str2) >> ...

  3. python中字符串的常用(部分)处理方法

    myStr = "hello world itcast and hahaitcastcpp" 方法的查询方法: help(myStr.replace) myStr.find(&qu ...

  4. python中字符串的常见操作

    demo:mystr = 'hello python' 1.find:mystr.find(str, start=0, end=len(mystr)),检测字符串中是否有要查询的字符,如果有返回开始的 ...

  5. python中字典数据类型常用操作

    创建字典 字典是另一种可变容器模型,且可存储任意类型对象. 字典的每个键值(key=>value)对用冒号(:)分割,每个对之间用逗号(,)分割,整个字典包括在花括号({})中 ,格式如下所示: ...

  6. 处理PHP中字符串的常用操作及函数

    1. 确定一个字符串的长度 这是最为常见和基础的例子,对于确定一个字符串的长度,我们应该使用strlen()函数,比如要获取下面字符串$text 的长度: $text = "sunny da ...

  7. Python中set集合常用操作

    功能 Python符号 Python方法 备注 交集 & intersection, intersection_update &:取两者交集>>> set3 = se ...

  8. Python中列表的常用操作

    只整理重要常用的操作: append():尾部追加元素,参数只能为一个. extend():用列表扩展列表,参数为列表. insert():在指定位置插入元素,第一个参数为插入位置,第二个为参数为插入 ...

  9. python中列表的常用操作增删改查

    1. 列表的概念,列表是一种存储大量数据的存储模型. 2. 列表的特点,列表具有索引的概念,可以通过索引操作列表中的数据.列表中的数据可以进行添加.删除.修改.查询等操作. 3. 列表的基本语法 创建 ...

随机推荐

  1. C#算法设计排序篇之01-冒泡排序(附带动画演示程序)

    冒泡排序(Bubble Sort) 该文章的最新版本已迁移至个人博客[比特飞],单击链接 https://www.byteflying.com/archives/672 访问. 它重复地访问要排序的元 ...

  2. 小程序的优化代码的分析Promise方法

    代码优化,这里通过了wx.request请求轮播图的API,通过result结果里面的data数据我们可以看到massage里面装着我们的数据 通过图片可以用看到swiperList返回的三个元素的数 ...

  3. 看DLI服务4核心如何提升云服务自动化运维

    摘要:今天我们来说说DLI是如何实现监控告警来提升整体运维能力,从而为客户更好的提供Serverless的DLI. DLI是支持多模引擎的Serverless大数据计算服务,免运维也是其作为Serve ...

  4. Mybatis中<![cdata[ ]]>

    1.<![cdata[ ]]>介绍 <![cdata[ 内容 ]]>是一种xml语法,在CDATA标记中的信息被解析器原封不动地传给应用程序,并且不解析该段信息中的任何控制标记 ...

  5. 【AHOI 2015】 小岛 - 最短路

    描述 西伯利亚北部的寒地,坐落着由 N 个小岛组成的岛屿群,我们把这些小岛依次编号为 1 到 N . 起初,岛屿之间没有任何的航线.后来随着交通的发展,逐渐出现了一些连通两座小岛的航线.例如增加一条在 ...

  6. JavaScript学习系列博客_31_JavaScript Math 工具类

    Math - Math属于一个工具类,它不需要我们创建对象(例如Date日期对象需要通过构造函数创建对象 var 变量=new Date(),Math不需要),它里边封装了属性运算相关的常量和方法 我 ...

  7. 求求大厂给个Offer:List面试题

    前言 只有光头才能变强. 文本已收录至我的GitHub精选文章,欢迎Star:https://github.com/ZhongFuCheng3y/3y 从今天开始,我,三歪,正式开始写面试系列.我给这 ...

  8. go thrift demo

    接口:https://gowalker.org/github.com/apache/thrift/lib/go/thrift 参考文件:https://cong.im/2018/05/14/other ...

  9. Open vSwitch with DPDK

    http://docs.openvswitch.org/en/latest/intro/install/dpdk/

  10. Java数据结构——图的基本理论及简单实现

    1. 图的定义图(graph)是由一些点(vertex)和这些点之间的连线(edge)所组成的:其中,点通常被成为"顶点(vertex)",而点与点之间的连线则被成为"边 ...