《Python CookBook2》 第一章 文本 - 控制大小写 && 访问子字符串

本文介绍了如何使用Python进行字符串的大写和小写转换,并演示了通过切片和struct模块获取子字符串的方法。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

控制大小写


 

任务:

  将一个字符串由大写转成小写,或者泛起到而行之。

 

解决方案:

>>> a = 'a'.upper()
>>> a
'A'
>>> b = 'b'.lower()
>>> b
'b'
>>> print "I loVe pythOn".capitalize()
I love python
>>> print "I loVe pythOn".title()
I Love Python

 

 

访问子字符串


 

任务:

  获取字符串的某个部分。 

 

解决方案:

  切片是个好方法,但是它一次只能取得一个字段:

afield = theline[3:6]

  如果还需要考虑字段的长度,struct.unpack可能更适合。例如:

>>> import struct
>>> baseformat = "5s 3x 8s 8s"
>>> theline = 'qqqwwweeerrrtttyyyaaasssdddfff'
>>> numremain = len(theline)- struct.calcsize(baseformat)
>>> format = "%s %ds" %(baseformat,numremain)
>>> len(theline)
30
>>> l,s1,s2,t = struct.unpack(format,theline)
>>> l
'qqqww'
>>> s1
'errrttty'
>>> s2
'yyaaasss'
>>> t
'dddfff'

注:

struct.calcsize用于计算格式字符串所对应的结果的长度,如:struct.calcsize('ii'),返回8

FormatC TypePython typeStandard sizeNotes
xpad byteno value  
ccharstring of length 11 
bsigned charinteger1(3)
Bunsignedcharinteger1(3)
?_Boolbool1(1)
hshortinteger2(3)
Hunsignedshortinteger2(3)
iintinteger4(3)
Iunsignedintinteger4(3)
llonginteger4(3)
Lunsignedlonginteger4(3)
qlong longinteger8(2), (3)
Qunsignedlong longinteger8(2), (3)
ffloatfloat4(4)
ddoublefloat8(4)
schar[]string  
pchar[]string  
Pvoid *integer (5), (3)

 

struct.pack用于将Python的值根据格式符,转换为字符串(因为Python中没有字节 (Byte)类型,可以把这里的字符串理解为字节流,或字节数组)

 

struct.unpack做的工作刚好与struct.pack相反,用于将字节流转换成python数据类型。它的函数原型为:struct.unpack(fmt, string),该函数返回一个元组。

 

转载于:https://www.cnblogs.com/wuzhiming/p/3939338.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值