字符串-基本操作

字符串String

字符串String是python中6中基本数据类型之一,所有用单引号 ' 或双引号 " 括起来的内容可以看出一个字符串。如"hello world",'hello world'

字符串相关操作

python中字符串是一个可以迭代的数据类型。所谓迭代就是可以通过循环,反复对数据进行操作。

在python中有关字符串的操作非常多,这里先列出一部分可能用到的操作,如果后续还有用到,再继续补充。

1.获取字符串中某个字符

由于字符串是可以迭代的数据类型,所以字符串中每一个字符都可以对它进行操作。我们可以通过下标(索引)来访问转字符串中的某个字符。

a = 'hello world'
print(a[0])
print(a[3])

image.png

注意:字符串中字符元素的下标(索引)是从0开始到字符串长度-1结束。

2.字符串的遍历

通过循环来依此去除字符串中的所有元素。

a = 'abcd123'
for item in a:
    print(item)
image.png
3.将字符串拆分同时赋值给多个变量
a = 'abcd123'
a1,*a2,a3 =a
print(a1,a2,a2)

image.png

说明:*表示不定个数的元素,可以看到,字符串第一个元素a赋值给a1,最后一个字符3赋值给a3,中间的元素以列表的形式全部赋值给a2。*操作可以放在首尾和中间的任意位置。
注意:*操作可以用在所有可以迭代的对象中。如字符串,列表,元组等

4.获取字符串中某个范围的值

python中可以获取任意有序且可以迭代的对象的某个范围的值,并且可以按照一定的规则来获取这个范围的值。

a = 'abcd123'

a1 = a[1:5]
a2 = a[1:5:2]
a3 = a[-1]
a4 = a[::-1]
a5 = a[6:2:-2]
image.png

注意:a1获取的是字符串下标1-5的区间,这是一个半开半闭的区间[1:5),包括下标1,不包括5,a2获取的是字符串下标1-5的区间,并且按照下标以2为步进进行获取,步进可以理解为下标以等差为2的等差数列获取,所以[1:5:2]实际获取的下标为1,3。a3获取的为字符串倒数第一个元素,-1表示倒数第一个,-2表示倒数第二个,依此类推。a4是将字符串逆序排列,前面两个冒号表示整个字符串的区间,a5表示下标6-2之间以-2为步进获取,6-2表示从后往前,2-6表示从前往后获取。

5.字符串拼接
a = 'abc'
c = a+'123'

image.png

注意:python中字符串的拼接方式直接用+号将两个字符串进行连接。

6.字符串中的一些转义字符

当你在使用字符串时,如果想要表示这样的字符串'I told you don't do that!' ,你会发现直接这样写,程序会出错,那么怎么使它能正确运行?
python中有多种种方式可以实现这样的操作。

a="I told you don't do that!"
b='I told you don\'t do that!'
print('I told you don%st do that!'%("'"))
c='''
I told you don't do that
'''

第一种:双引号与单引号组合使用;第二种使用转义字符\来表示字符';第三种使用占位符。
python中其他占位符:

转移字符 功能
\(在行尾时) 续行符
\\ 反斜杠符号
\' 单引号
\" 双引号
\a 响铃
\b 退格(Backspace)
\e 转义
\000
\n 换行
\v 纵向制表符
\t 横向制表符
\r 回车
\f 换页
\oyy 八进制数,yy代表的字符,例如:\o12代表换行
\xyy 十六进制数,yy代表的字符,例如:\x0a代表换行
\other 其它的字符以普通格式输出

python中的其他占为符:

占位符 功能
%c 格式化字符及其ASCII码
%s 格式化字符串
%d 格式化整数
%u 格式化无符号整型
%o 格式化无符号八进制数
%x 格式化无符号十六进制数
%X 格式化无符号十六进制数(大写)
%f 格式化浮点数字,可指定小数点后的精度
%e 用科学计数法格式化浮点数
%E 作用同%e,用科学计数法格式化浮点数
%g %f和%e的简写
%G %f 和 %E 的简写
%p 用十六进制数格式化变量的地址
7.判断某个字符是否在字符串中
a = 'abcd123'
b = 'abc'
c = 'cdv'
print(b in a,c in a,b not in a,c not in a)

image.png

注意:in操作和not in操作非常有用,可以直接用来判断一个元素是否在某个容器类型中,而不需要去遍历容器判断元素是否相等。

8.字符串的乘法操作
a = '*'
print(a*5)

image.png

注意:*操作的作用是将一个字符串重复多少次。

9.字符串格式化format方法
a='{} {}'.format('hello','world')
b='{1} {0} {0}'.format('o','h')
c='name ={name}, age ={age}'.format(name='RideoCos',age='22')
dict1 = {'name':'RideoCos','age':22}
list1 = ['RideoCos',22]
d='name={name}, age={age}'.format(**dict1)
e='name={0[0]}, age={0[1]}'.format(list1)

format是python2.6后增强的一种字符串格式化操作,通过str.format()来实现。
可以指定位置来进行字符串的格式化。可以指定位置或不指定,不指定则默认由参数从左至右进行格式化。
注意:可以通过字典或列表进行格式化,需要注意的是在使用字典进行格式化时,操作语句为str.format(**dict)。使用列表时,需要使用0[index]来获取列表元素。

image.png

10.字符串数字格式化操作
数字 格式 输出 描述
3.1415926 {:.2f} 3.14 保留小数点后两位
3.1415926 {:+.2f} +3.14 带符号保留小数点后两位
-1 {:+.2f} -1.00 带符号保留小数点后两位
2.71828 {:.0f} 3 不带小数
5 {:0>2d} 05 数字补零 (填充左边, 宽度为2)
5 {:x<4d} 5xxx 数字补x (填充右边, 宽度为4)
10 {:x<4d} 10xx 数字补x (填充右边, 宽度为4)
1000000 {:,} 1,000,000 以逗号分隔的数字格式
0.25 {:.2%} 25.00% 百分比格式
1000000000 {:.2e} 1.00e+09 指数记法
13 {:10d} 13 右对齐 (默认, 宽度为10)
13 {:<10d} 13 左对齐 (宽度为10)
13 {:^10d} 13 中间对齐 (宽度为10)
11 '{:b}'.format(11) 1011 二进制
11 '{:d}'.format(11) 11 十进制
11 '{:o}'.format(11) 13 八进制
11 '{:x}'.format(11) b 十六进制
11 '{:#x}'.format(11) 0xb 十六进制
11 '{:#X}'.format(11) 0XB 进制

使用方法:

c ='{:b}'.format(11)
c='{:.2f}'.format(3.111)
c='{:.0f}'.format(3.111)
c='{:0>2d}'.format(5)
最后编辑于
©著作权归作者所有,转载或内容合作请联系作者
【社区内容提示】社区部分内容疑似由AI辅助生成,浏览时请结合常识与多方信息审慎甄别。
平台声明:文章内容(如有图片或视频亦包括在内)由作者上传并发布,文章内容仅代表作者本人观点,简书系信息发布平台,仅提供信息存储服务。

相关阅读更多精彩内容

  • 字符串操作 在php开发过程中有些基础知识一时想不起来,如果同事间合作略显尴尬,小编整理了一些对字符串的基本操作的...
    春风之旅阅读 3,244评论 0 1
  • 一、Python简介和环境搭建以及pip的安装 4课时实验课主要内容 【Python简介】: Python 是一个...
    _小老虎_阅读 11,274评论 0 10
  • 前言 最先接触编程的知识是在大学里面,大学里面学了一些基础的知识,c语言,java语言,单片机的汇编语言等;大学毕...
    oceanfive阅读 8,445评论 0 7
  • 岁月 岁月蹉跎雪满头,只将余日付琼洲。白云频入老人梦,柳笛也知孤客愁。小屋聊须傍兰渚,香车那復到吾楼。一年潦草真堪...
    倚剑白云天阅读 1,193评论 0 3
  • 让带有圆角的空间有阴影,有两种方法 方法一:用一个透明的view作为这个圆角控件的父控件 方法二,设置控件的sha...
    summerNight阅读 5,252评论 0 1

友情链接更多精彩内容