beginning python summary chapter 3 - 使用字符串

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('*')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值