python基础文字教程_《python基础教程》笔记之 字符串

字符串格式化

字符串格式化使用字符串格式化操作符即百分号%来实现。在%的左侧放置一个字符串(格式化字符串),而在右侧则放置希望格式化的值,可以使用一个值,如一个字符串或者数字,也可以使用多个值的元组或者字典,如

>>> print "hello. %s.%s enough for ya?" % ('world', 'Hot')

hello. world.Hot enough for ya?

如果右操作数是元组的话,则其中的每一个元素都会被单独格式化,每个值都需要一个对应的转换说明符。

基本的转换说明符包括以下部分,注意,这些项的顺序是至关重要的。

1. %字符:标记转换说明符的开始。

2. 转换标志(可选):-表示左对齐;+表示在转换值之前要加上正负号;“”表示正数之前保留空格;0表示转换值若位数不够则用0填充。

3. 最小字段宽度(可选):转换后的字符串至少应该具有该值指定的宽度。如果是*,则宽度会从值元组中读出。

4. 点(.)后跟精度值(可选):如果转换的是实数,精度值就表示出现在小数点后的位数。如果转换的是字符串,那么该数字就表示最大字段宽度。如果是*,那么精度将会从元组中读出。

5. 转换类型:见下表

63bff7d75d2bb280a872ee2d24077c4c.png

#使用给定的宽度打印格式化后的价格列表

width = input('width:')

price_width= 10item_width= width -price_width

header_format= '%-*s%*s'format= '%-*s%*.2f'

print '-' *widthprint header_format % (item_width, 'Item', price_width, 'Price')print '-' *widthprint format % (item_width, 'Apples', price_width, 0.4)print format % (item_width, 'Pears', price_width, 0.5)print format % (item_width, 'Cantaloupes', price_width, 1.92)print format % (item_width, 'Dried Apricots(16 0z.)', price_width, 8)print format % (item_width, 'prunex(4 1bs)', price_width, 12)print '=' * width

结果如下

width:35

-----------------------------------

Item                            Price

-----------------------------------

Apples                         0.40

Pears                          0.50

Cantaloupes                 1.92

Dried Apricots(16 0z.)     8.00

prunex(4 1bs)               12.00

=======================

字符串方法

find -- 在一个较长的字符串中找子字符串,它返回子串所在位置的最左端索引,未找到则返回-1。此方法还接收可选的起始点和结束点参数。

>>> title = 'hello. world.Hot enough for ya?'

>>> title.find('wor')

7

>>> title.find('wor', 2, 6)

-1

join -- 在队列中添加元素

>>> seq = list('12345')

>>> sep = '+'

>>> sep.join(seq)

'1+2+3+4+5'

>>> dirs = '','usr','bin','env'

>>> '/'.join(dirs)

'/usr/bin/env'

>>> 'C:'+'\\'.join(dirs)

'C:\\usr\\bin\\env'

lower -- 返回字符串的小写字母版

replace -- 返回某字符串的所有匹配项均被替换之后得到的字符串。

split -- 将字符串分割成序列

>>> '1+2+3+4+5'.split('+')

['1', '2', '3', '4', '5']

>>> '/usr/bin/env'.split('/')

['', 'usr', 'bin', 'env']

>>> 'C:\\usr\\bin\\env'.split('\\')

['C:', 'usr', 'bin', 'env']

strip  -- 返回除去两侧(不包括内部)空格的字符串,也可以指定需要去除的字符。

>>> '++!**1+2+3+4+5*++'.strip('+!*')

'1+2+3+4+5'

translate -- 可以替换字符串中的某些部分,只处理单个字符,并且可以同时进行多个替换。第一个参数指定需要替换的表,第二个参数指定需要删除的字符。

>>> from string import maketrans

>>> table = maketrans('cs', 'kz')

>>> 'This is an incredible test'.translate(table)

'Thiz iz an inkredible tezt'

>>> 'This is an incredible test'.translate(table, ' ')

'Thizizaninkredibletezt'

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值