首页 > 代码库 > python手记(3)------字符串

python手记(3)------字符串

1.字符串格式化----%

  原来的%:

In[2]: a=my name is %s and my age is %d%(eric,26)
In[3]: a
Out[3]: my name is eric and my age is 26

占位符%:为真实值预留位置,并控制显示的格式。占位符可以包含有一个类型码,用以控制显示的类型,常用如下:

%s    字符串 (采用str()的显示)

%r    字符串 (采用repr()的显示)

%c    单个字符

%b    二进制整数

%d    十进制整数

%i    十进制整数

%o    八进制整数

%x    十六进制整数

%e    指数 (基底写为e)

%E    指数 (基底写为E)

%f    浮点数

%F    浮点数,与上相同

%g    指数(e)或浮点数 (根据显示长度)

%G    指数(E)或浮点数 (根据显示长度)

 

2.字符串格式化---format:

字符串的format函数可以接受不限个参数,位置可以不按顺序,可以不用或者用多次。

 

新的,提倡的format方法:s.format(*args,**kwargs)

In[6]: print(my name is {0} and my age is {1}.format(song ruiwen,26))
my name is song ruiwen and my age is 26
print(my name is {name} and my age is {age} .format(name=eric,age=26))
my name is eric and my age is 26 

格式限定符:对应于%s, 控制类型和显示方式。

1.填充对齐方式::[填充字符][对齐方式 <^>][宽度]:

^、<、>分别是居中、左对齐、右对齐,后面带宽度
:号后面带填充的字符,只能是一个字符,不指定的话默认是用空格填充

>>> {0:*>10}.format(10)  ##右对齐
********10
>>> {0:*<10}.format(10)  ##左对齐
10********
>>> {0:*^10}.format(10)  ##居中对齐
****10****

2.精度与类型

b、d、o、x分别是二进制、十进制、八进制、十六进制。

>>> {0:.2f}.format(1/3)
0.33
>>> {0:b}.format(10)    #二进制
1010
>>> {0:o}.format(10)     #八进制
12
>>> {0:x}.format(10)     #16进制
a
>>> {:,}.format(12369132698)  #千分位格式化
12,369,132,698

用,号还能用来做金额的千位分隔符。

In [47]: {:,}.format(1234567890)
Out[47]: 1,234,567,890

 

python手记(3)------字符串