当前位置:编程学习 > python >>

python学习笔记:使用字符串

基本字符串操作
所有标准的序列操作(索引、分片、乘法、判断成员资格、求长度、取最小值和最大值)对字符串同样适用;
字符串都是不可变的
因此,类似一下的分片赋值是不合法的:
[python]  
website = 'http://blog.csdn.net/grassroots2011.net'  
website[-3:] = 'com'  
 
字符串格式化
字符串格式化适用字符串格式化操作符即百分号%来实现。
在%的左侧放置一个字符串(格式化字符串),而右侧则放置希望格式化的值。
[python]  
format = 'Hello,%s,%s enough for ya?'  
values = ('world','Hot')  
print (format % values)  
输出:Hello,world,Hot enough for ya?
注:%s称为转换说明符(conversion specifier),s表示值会被格式为字符串-如果不是字符串,则会用str将其转换为字符串
===============================格式化实数(浮点数),使用f说明符类型
提供所需要的精度:
一个句点再加上希望保留的小数位数。因为格式化说明符总是以表示类型的字符结束,所以精度应该放在类型字符前面:
[python]  
format = 'Pi with three decimals:%.3f'  
from math import pi  
print (format % pi)  
输出:Pi with three decimals:3.142
==============================模板字符串
string模块提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多UNIX SHELL里的变量替换。
如:substitute这个模板方易做图用传递进来的关键字参数foo替换字符串中的$foo
[python]  
from string import Template  
s = Template('$x,glorious $x!')  
s.substitute(x='slurm')  
输出:slurm,glorious slurm!
=============================替换字段的第一部分用{}
[python]  
s = Template("It`s ${x}tastic")  
s.substitute(x='slurm')  
 
=============================可以使用$$插入美元符号
[python] 
s = Template("Make $$ selling $!")  
s.substituts(x='slurm')  
 
=============================除了关键字参数外,还可以使用字典变量提供值/名称对
[python]  
s = Template("A $thing must never $action")  
d = {}  
d[thing]='gentleman'  
d[action]='show his socks'  
s.substituts(d)  
 
字符串格式化转换类型
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对象)
1、简单转换   www.zzzyk.com
简单的转换只需要写出转换类型,使用起来很简单
[python]  
'Price of eggs: %d' %42  
输出:Price of eggs:42
 
2、字段宽度和精度
转换说明符可以包括字段宽度和精度。字段宽度是转换后的值所保留的最小字符数个数,精度则是结果应该包含的小数位数,或者是转换后的值所能包含的最大字符个数。
这两个参数都是整数(首先是字符宽度,然后是精度),通过点号(.) 分隔。
[python]  
'%10f' %42 #字段宽度10  
'%10.2f' %42 #字段宽度10 精度2  
'%.2f' %42 #精度2  
可以使用*作为字段宽度或者精度
[python]  
'%.*s' %(5,'Guido van Rossum')  
输出:'Guido'
补充:Web开发 , Python ,
CopyRight © 2022 站长资源库 编程知识问答 zzzyk.com All Rights Reserved
部分文章来自网络,