所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用。但是字符串都是不可变得,因此如下所示的项或分片赋值都是不合法的
X = ‘hello,world‘
X[-3:0] = ‘hello‘
Traceback (most recent call last):
File "E:/python/hello.py", line 2, in <module>
X[-3:0] = ‘hello‘
TypeError: ‘str‘ object does not support item assignment
基本的转化说明符包含以下部分。注意,这些项的顺序至关重要
1) %字符:标记转换说明符的开始
2) 转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“”(空白字符)表示整数之前保留空格;0表示转换值若位数不够则用0填充。
3) 最小字符宽度(可选):转换后的字符串至少应该具有该值制定的宽度。如果是*,则宽度会从值元祖中读出
4) 点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数值就表示最大字符宽度。如果是*,那么精度将会从值元祖中读出。
5) 转换类型,参见下表:
转换类型 |
含义 |
d,i |
带符号的十进制整数 |
o |
不带符号的八进制 |
u |
不带符号的十进制 |
x |
不带符号的十六进制(小写) |
X |
不带符号的十六进制(大写) |
e |
科学技术法表示的浮点数(小写) |
E |
科学计数法表示的浮点数(大写) |
f,F |
十进制浮点数 |
g |
如果指数大于-4或者小于精度值则和e相同,其他情况则和f相同 |
G |
如果指数大于-4或者小于精度值则和E相同,其他情况则和F相同 |
C |
单字符(接受整数或者字符字符串) |
r |
字符串(使用repr转换任意python对象) |
s |
字符串(使用str转换任意Python对象) |
Find方法可以在一个较长的字符串中查找子串。他返回子串所在位置的最左端索引,如果没有找到则返回-1.并且提供起始值和终止值。
如:
subject="$$$ get rich now !!! $$$"
print(subject.find(‘$$$‘,1,16))
-1
用于连接序列中的元素,并且被连接的序列元素都必须是字符串
如:
sep = [‘1‘,‘2‘,‘3‘]
seq = ‘+‘
print(seq.join(sep))Lower
1+2+3
返回字符串小写
如果想要编写不区分大小写的代码的话,那么这个方法就派上用场---代码会区分大小写
如:
name = ‘Gumby‘
names = [‘gumby‘,‘smith‘,‘jones‘]
if name.lower() in names:
print(‘Fount it !‘)
Fount it !
返回某字符串中所有匹配均被替换之后得到字符串
X = ‘hello,world,hello‘
print(X.replace(‘hello‘,‘hel‘))
hel,world,hel
Join的逆方法,用来将字符串分割成序列
注意:如果不提供分隔符,程序会把所有空格作为分割符(空格,制表,换行等)
X = ‘hello/world/hello‘
print(X.split(‘/‘))
[‘hello‘, ‘world‘, ‘hello‘]
返回除两侧(不包含内部)空格的字符串。和lower方法一起使用就可以很方便的对比输入的和存储的值。
name = ‘ Gumby ‘
names = [‘gumbY‘,‘smith‘,‘jones‘]
if name.strip() or name.lower()in names:
print(‘Fount it !‘)
Fount it !
Translate和replace方法一样,可以替换字符串中的某些部分,但是和前者不同的是translate方法只处理单个字符。它的优势在于可以同时进行多个替换,有时候比replace效率高得多
table = str.maketrans(‘cs‘,‘kz‘)
#maketrans表示结束两个参数:两个等长的字符串,表示第一个字符串中的每一个字符都用第二个字符串中相同位置的字符替换
word = ‘this is an incredible test‘
print(word.translate(table))
thiz iz an inkredible tezt
原文:https://www.cnblogs.com/xiaoxiaoxuepiao/p/11494795.html