目录
(1)数字与字符串的互相转化
强制转换方法
print(type(int('666')))
print(type(str(666)))
显示:
<class 'int'>
<class 'str'>
(2)运算:‘+’ ‘*’ ‘len()’ ‘in’
m = 'python'
n = 'book'
print(m+n) 拼接
print(m*3) 复制
print(len(m)) 长度
print('p' in m) 判断‘字符’是否在字符串中
print('a' in m)
显示:
pythonbook
pythonpythonpython
6
True
False
(3)索引方式,切片
①正向索引与逆向索引
r = 'pythonbook'
正向索引: 0123456789
逆向索引: -10 -9 -8 -7 -6 -5 -4 -3 -2 -1
在python中,每个字符串有两个索引序号,r【0】与r【-10】指的都是‘p’
r【0】意味着正向从左到右数第一个
r【-10】意味着逆向从右到左数第十个
②切片
r[a:b:c]
a:起始位置,包括该位置。省略为从头开始取值。
b:终止位置,不包括该位置。省略为到末尾结束。
c:步长,可省略,省略为1。可为负数,逆向取值,a,b还是起始位置和终止位置即 r[9:1:-1]
举例:
r = 'pythonbook'
print(r[1:9])
print(r[1:9:2])
print(r[9:1:-1])
print(r[::-1])
显示:
ythonboo
yhno
koobnoht
koobnohtyp
符合上述规则。
③切片不改变原字符串
r = 'pythonbook'
print(r[::-1])
print(r)
显示为
koobnohtyp
pythonbook
切片操作在新建的字符串上进行操作,不改变原字符串
④字符串不能以索引的方式被改变
r = 'pythonbook'
r[2] = 'a'
print(r)
显示:
Traceback (most recent call last):
File "。。。", line 17, in <module>
r[2] = 'a'
TypeError: 'str' object does not support item assignment
(4)输入
name = input("your name is : ")
print(name)
显示:
your name is : xiaow 这里的xiaow是自己输入的部分
xiaow
(5)index()方法
功能:查找字符串 s 中是否含有子串
s.index(sub,start,end)
sub:子串,可以是 字符 也可以是 字符串
start:开始位置,可省略,默认为从头开始。
end: 结束位置,可省略,默认搜索到结尾。
r = 'pythonbook'
print(r.index('o')) 查找是否存在‘o’ 从头开始,返回值为第一个‘o’的位置
print(r.index('o',5)) 从位置5开始查找,返回值为这次查到的第一个‘o’的位置
显示:
4
7
若是没有子串,则会报错。
(6)字符串分割成列表 :split()
s.split('a') 把字符串s以‘a’为分割符切割开,分开的序列形成了一个列表。
'a'可以是空格,也可以是空的
举例:
s = "I love nlp ."
print(s.split(' '))
显示:
['I', 'love', 'nlp', '.']
(7)列表合成字符串 :join()
‘a’.join(lst) 用'a'做连接符,将lst列表中的元素连接成字符串
举例
s = "I love nlp ."
print('-'.join(s.split(' ')))
显示:
I-love-nlp-.
(8)字符串的格式化输出 :format
①format:向字符串中的位置给出自己想要的词
s = "I like {1} and {0}".format("w","y")
print(s)
显示:
I like y and w format()中的词有位置关系,0,1。。。前面的格式可以修改位置以获得合适的词
②format的一些格式
{a:b}中第一位还是对应后面元素的位置,b为占位数,默认左对齐
{a:>b} a位置的元素,右对齐,占位数为b
{a:^b} a位置的元素,居中对齐,占位数为b a,b均为数字
{a:d} a位置的元素,要求格式是整数 d为字符(整数)
{a:.1f} a位置的元素,要求格式是保留一位小数 .xf x为保留小数位置,f为字符(浮点数)
s = "I like {1:10} and {0:.1f}".format(0.9,"y")
s = "I like {1:^10} and {0:>.1f}".format(0.9,"y")
显示:
I like y and 0.9
I like y and 0.9
③f‘’
也可通过提前定义变量的方式,将变量导入字符串
name = 'xiaow'
print(f'hello,{name}')
显示:
hello,xiaow