您的位置:首页 > 编程语言 > Python开发

beginning python summary chapter 3 - 使用字符串

2010-01-25 14:54 561 查看
0、字符串是不可变的。

1、基本字符串操作:索引、切片、复制、成员、长度、最大和最小。

2、字符串格式化:用格式化操作符百分号%实现,eg:>>> format = "Hello, %s. %s enough for ya?"

>>> values = ('world', 'Hot') //元组
>>> print format % values

>>> hello,world,hot enough for ya?

values 可以是单独的值,比如字符串或数字;也可以是多个值,比如元组。

要在格式化字符串里面包括百分号, 你应该使用%%。

如果你格式化实数(浮点数) 的话,可以使用f这个说明类型,加上作为精度的点号“.”,后面跟上你希望保留地小数位数的十进制。eg:>>> format = "Pi with three decimals: %.3f"
>>> from math import pi
>>> print format % pi

3、模板字符串:string模块提供另外一种格式化值的方法:模板字符串。它的工作方式类似于很多UNIXShell里的变量替换,使用传递到substitute方法的foo的关键字参数替换$foo:
>>> from string import Template
>>> s = Template('$x, glorious $x!')
>>> s.substitute(x='slurm')
'slurm, glorious slurm!'
如果替换域是单词的一部分,名字就必须用括号括起,使得结束处变得清晰:
>>> s = Template("It's ${x}tastic!")
>>> s.substitute(x='slurm')
"It's slurmtastic!"
插入美元符号,使用$$
>>> s = Template("Make $$ selling $x!")
>>> s.substitute(x='slurm')
'Make $ selling slurm!'
除了关键字参数之外,你还可以提供位于字典中的值-名称对(value-namepair)
>>> s = Template('A $thing must never $action.')
>>> d = {}
>>> d['thing'] = 'gentleman'
>>> d['action'] = 'show his socks'
>>> s.substitute(d)
'A gentleman must never show his socks.'

3、域宽和精度:域宽是转换后的值所保留的最小字符个数,而精度(对于数字转换来说)是结果中应该包含的小数位数,或者(对于字符串转换来说)是转换后的值所能包含的最大字符个数,eg:>>> '%10.2f' % pi
可以使用*(星号)作为域宽或者精度(或者两者),数值会从元组参数中读出:eg:>>> '%.*s' % (5, 'Guido van Rossum')
4、字符串方法:find方法会在一个较长的字符串中查找子串。它返回字串所在位置的最左端索引。如果没有找到则返回-1,可以给搜索提供起始点,同样可选的还有终止点。eg:>>>str = 'this is a string' >>>str.find('is') >>>str.find('is',0,10)
join方法用来在队列中添加元素,要添加的队列元素都必须是字符串,eg:>>>dirs = ['usr','bin','env'] >>>'/'.join(dirs)
lower方法返回字符串的小写字母版本,eg:>>>'I AM UPPERCASE'.lower()
replace方法返回一个被替换过字符的字符串,eg:>>> 'This is a test'.replace('is', 'eez')
split是join的逆方法,用来将字符串分割成队列,eg:>>> '/usr/bin/env'.split('/'),如果不提供分隔符,程序会把所有空白作为分隔符。
strip方法返回去除两侧空格的字符串,eg:>>>' this sentence has some space'.strip(),可以指定需要去除的字符,将它们列为参数,但只能去除两侧的字符,eg:'***this is * a test***'.strip('*')
内容来自用户分享和网络整理,不保证内容的准确性,如有侵权内容,可联系管理员处理 点击这里给我发消息
标签: