一、字符串基本操作字符串属于序列,适用于所有标准序列操作(索引、切片、乘法、成员资格检查、长度、最小最大值) 字符串是不可变的,因此所有的元素赋值和切片赋值非法 序列通用方法参考:Python入门笔记2 - 列表和元组
#字符串作为序列,支持序列的通用操作
>>> str = '0123456789'
#索引
>>> str[1]
'1'
>>> str[-1]
'9'
#切片
>>> str[8:3:-2]
'864'
>>> str[:]
'0123456789'
#加法
>>> str2 = 'ABC'
>>> str str2
'0123456789ABC'
#乘法
>>> 3*str
'012345678901234567890123456789'
#成员资格检查
>>> '' in str
True
>>> 'A' in str
False
二、设置字符串格式1. 旧方法:使用%>>> format = "hello, %s %d %.3f, 12345"
>>> values = ('world',2012,3.14159)
>>> format % values
'hello, world 2012 3.142, 12345'
>>> "%d %s" % (10,'ABC')
'10 ABC'
2. 旧方法:模板字符串>>> from string import Template
>>> tmp1 = Template("Hello $name! The price is $number")
>>> tmp1.substitute(name = 'Jack',number = "3.14")
'Hello Jack! The price is 3.14'
3. 新方法:format(1)基本操作>>> "{},{},{}".format('first','second','third')
'first,second,third'
>>> "{2},{1},{0}".format('first','second','third')
'third,second,first'
>>> from math import pi
>>> "{name} is approximately {value:.2f}.".format(name="PI",value=pi)
'PI is approximately 3.14.'
(2)替换字段名>>> "{3},{2},{1},{0}".format('A','B','C','D')
'D,C,B,A'
>>> "{foo},{},{},{}".format('A','B','C',foo = 'D')
'D,A,B,C'
>>> "{foo},{},{},{}".format('A','B',foo = 'C','D')
#报错,指定名称必须从最后开始
(3)基本转换>>> print("{A!s},{A!r},{A!a}".format(A=' '))
,' ',' '
>>> "{num:f} , {num:o} , {num:b}".format(num = 100)
'100.000000 , 144 , 1100100'
(4)宽度、精度和填充设置宽度(下例可见数字默认右对齐,字符串默认左对齐)
>>> '{:10}'.format(3.14)
' 3.14'
>>> '{:10}'.format("BOB")
'BOB '
设置精度
>>> "{:.2f}".format(3.14159)
'3.14'
用0填充数字
>>> '{:010}'.format(3.14)
'0000003.14'
指定对齐方式
>>> print('{0:<10.2f}\n{0:^10.2f}\n{0:>10.2f}'.format(pi))
3.14
3.14
3.14
指定填充字符
>>> print('{0:*<10.2f}\n{0:#^10.2f}\n{0:$>10.2f}'.format(pi))
3.14******
###3.14###
$$$$$$3.14
符号说明符
>>> print('{0:*<-.2f}\n{1:-.2f}'.format(pi,-pi)) //默认形式
3.14
-3.14
>>> print('{0:*< .2f}\n{1: .2f}'.format(pi,-pi))
3.14
-3.14
>>> print('{0:*< .2f}\n{1: .2f}'.format(pi,-pi))
3.14
-3.14
三、字符串方法
|