Python中字符串有哪些常用操作?纯干货超详细
文章插图
在Python中字符串的表达方式有四种
- 一对单引号
- 一对双引号
- 一对三个单引号
- 一对三个双引号
a = 'abc'b= "abc"c = '''abc'''d = """abc"""print(type(a)) # print(type(b)) # print(type(c)) # print(type(d)) # 复制代码
单双引号混合使用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) # aab = '-'print(b * 10) # ----------复制代码
切片字符串的切片也称为字符串截取 。所有操作都是通过字符串的下标进行操作的 。用法:字符串[开始索引(start):结束索引(end):步长(step)(默认1)]
步长(step):每隔(step-1)个取一个元素 , 当step为负数时 , 代表从右向左取元素 ,
a = 'abcdefghijklmn'# 从下标1开始 到4结束 进行切片(包括1 , 不包括4 , 即左开又闭)print(a[1:4]) # bcdprint(a[1:8]) # bcdefghprint(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 ' 有空格 , 因此返回Falseprint('HelloWorld'.isalpha()) #True# 判断字符串中是否全部为数字或者英文print('Hello2World'.isalnum()) # Trueprint('123'.isalnum()) # Trueprint('abc返回字符串最后一次出现的位置 , 如果没有匹配项则返回-1。 rindex 同理
- 想自学Python来开发爬虫,需要按照哪几个阶段制定学习计划
- 未来想进入AI领域,该学习Python还是Java大数据开发
- 2021年Java和Python的应用趋势会有什么变化?
- 非计算机专业的本科生,想利用寒假学习Python,该怎么入手
- 用Python制作图片验证码,这三行代码完事儿
- 计算机专业大三学生,如果想主攻前端开发,该重视哪些内容
- 做vlog博主,需要购买哪些设备,做什么准备?
- 历时 1 个月,做了 10 个 Python 可视化动图,用心且精美...
- 为何在人工智能研发领域Python应用比较多
- 机情问答:小米11有哪些升级?三星廉价折叠手机来了?