免费注册 查看新帖 |

Chinaunix

  平台 论坛 博客 文库
最近访问板块 发新帖
查看: 3161 | 回复: 0
打印 上一主题 下一主题

Python 字符串模块--摘自《Python核心编程》 [复制链接]

论坛徽章:
0
跳转到指定楼层
1 [收藏(0)] [报告]
发表于 2009-07-29 02:28 |只看该作者 |倒序浏览

String 模块  

成员常量:
string.ascii_letters:string.ascii_lowercase+ string.ascii_uppercase
string.ascii_lowercase:'abcdefghijklmnopqrstuvwxyz',小写字母的集合
string.ascii_uppercase:'ABCDEFGHIJKLMNOPQRSTUVWXYZ',大写字母的集合
string.digits:'0123456789',十进制字符
string.hexdigits:'0123456789abcdefABCDEF',16进制字符
string.letters:string.lowercase+ string.uppercase
string.lowercase:'abcdefghijklmnopqrstuvwxyz'
string.uppercase:'ABCDEFGHIJKLMNOPQRSTUVWXYZ'
string.octdigits:'01234567',八进制字符
string.punctuation:'!"#$%&\'()*+,-./:;?@[\\]^_`{|}~'
string.printable:
digits
,
letters
,
punctuation

whitespace
.
string.whitespace:空白符,包括space, tab, linefeed, return, formfeed, 和 vertical tab等

内建函数
enumerate(iter) a 接受一个可迭代对象作为参数,返回一个enumerate 对象(同时也是一个迭代器),该对象生成由iter 每个元素的index 值和item 值组成的元组(PEP 279)
len(seq) 返回seq 的长度
max(iter,key=None) or
max(arg0,arg1...,key=None)b 返回iter 或(arg0,arg1,...)中的最大值,如果指定了key,这个key 必须是一个可以传给sort()方法的,用于比较的回
调函数.
min(iter, key=None) or
min(arg0, arg1.... key=None)b 返回iter 里面的最小值;或者返回(arg0,arg2,...)里面的最小值;如果指定了key,这个key 必须是一个可以传给
sort()方法的,用于比较的回调函数.
reversed(seq)c 接受一个序列作为参数,返回一个以逆序访问的迭代器(PEP 322)
sorted(iter,func=None,key=None,reverse=False)c 接受一个可迭代对象作为参数,返回一个有序的列表;可选参数func,key 和reverse 的含义跟list.sort()内建函数的参数含义一样.
sum(seq, init=0)a 返回seq 和可选参数init 的总和, 其效果等同于
reduce(operator.add,seq,init)
zip([it0, it1,... itN])d 返回一个列表,其第一个元素是it0,it1,...这些元素的第
一个元素组成的一个元组,第二个...,类推.
a. Python2.3 新增
b. 从Python2.5 开始支持关键字参数
c. Python2.4 开始支持
d. Python2.0 加入,Python2.4 加强

string内建函数
string.atof(s):将字符串转成浮点型
string.atol(s[, base]):将字符串转成长整形。base默认为10,如果为0,那么s就可以是012或0×23这种形式的字符串,如果是16那么s就只能是0×23或0X12这种形式的字符串。字符串尾部不能带l或L,除非base=0。
string.atoi(s[,base]):将字符串转成整形。base意义同上。
string.capitalize() 把字符串的第一个字符大写
string.center(width) 返回一个原字符串居中,并使用空格填充至长度width 的新字符串
string.count(str, beg=0,end=len(string)) 返回str 在string 里面出现的次数,如果beg 或者end 指定则返回指定范围内str 出现的次数
string.decode(encoding='UTF-8',errors='strict') 以encoding 指定的编码格式解码string,如果出错默认报一个ValueError 的异常, 除非errors 指定的是'ignore' 或者'replace'
string.encode(encoding='UTF-8',errors='strict')a 以encoding 指定的编码格式编码string,如果出错默认报一个ValueError 的异常,除非errors 指定的是'ignore'或者'replace'
string.endswith(obj, beg=0,end=len(string))b,e 检查字符串是否以obj 结束,如果beg 或者end 指定则检查指定的范围内是否以obj 结束,如果是,返回True,否则返回False.
string.expandtabs(tabsize=8)把字符串string 中的tab 符号转为空格,默认的空格数tabsize 是8.
string.find(str, beg=0,end=len(string)) 检测str 是否包含在string 中,如果beg 和end 指定范围,则检查是否包含在指定范围内,如果是返回开始的索引值,否则返回-1
string.index(str, beg=0,end=len(string)) 跟find()方法一样,只不过如果str 不在string 中会报一个异常.
string.isalnum()a, b, c R 如果string 至少有一个字符并且所有字符都是字母或数字则返回True,否则返回False
string.isalpha()a, b, c 如果string 至少有一个字符并且所有字符都是字母则返回True,否则返回False
string.isdecimal()b, c, d 如果string 只包含十进制数字则返回True 否则返回False.
string.isdigit()b, c 如果string 只包含数字则返回True 否则返回False.
string.islower()b, c 如果string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是小写,则返回True,否则返回False
string.isnumeric()b, c, d 如果string 中只包含数字字符,则返回True,否则返回False
string.isspace()b, c 如果string 中只包含空格,则返回True,否则返回False.
string.istitle()b, c 如果string 是标题化的(见title())则返回True,否则返回False
string.isupper()b, c 如果string 中包含至少一个区分大小写的字符,并且所有这些(区分大小写的)字符都是大写,则返回True,否则返回False
string.join(seq) Merges (concatenates)以string 作为分隔符,将seq 中所有的元素(的字符串表示)合并为一个新的字符串
string.ljust(width)返回一个原字符串左对齐,并使用空格填充至长度width 的新字符串
string.lower() 转换string 中所有大写字符为小写.
string.lstrip() 截掉string 左边的空格
string.partition(str)e 有点像find()和split()的结合体,从str 出现的第一个位置起,把字符串string 分成一个3 元素的元组(string_pre_str,str,string_post_str),如果string 中不包含str 则string_pre_str == string.
string.replace(str1, str2,num=string.count(str1))把string 中的str1 替换成str2,如果num 指定,则替换不超过num 次.
string.rfind(str, beg=0,end=len(string))类似于find()函数,不过是从右边开始查找.
string.rindex( str, beg=0,end=len(string)) 类似于index(),不过是从右边开始.
string.rjust(width)返回一个原字符串右对齐,并使用空格填充至长度width 的新字符串
string.rpartition(str)e 类似于partition()函数,不过是从右边开始查找.
string.rstrip() 删除string 字符串末尾的空格.
string.split(str="", num=string.count(str)) 以str 为分隔符切片string,如果num有指定值,则仅分隔num 个子字符串
string.splitlines(num=string.count('\n'))b, c 按照行分隔,返回一个包含各行作为元素的列表,如果num 指定则仅切片num 个
行.
string.startswith(obj, beg=0,end=len(string))b, e 检查字符串是否是以obj 开头,是则返回True,否则返回False。如果beg 和end 指定值,则在指定范围内
string.strip([obj]) 在string 上执行lstrip()和rstrip()
string.swapcase() 翻转string 中的大小写
string.title()b, c 返回"标题化"的string,就是说所有单词都是以大写开始,其余字母均为小写(见istitle())
string.translate(str, del="") 根据str 给出的表(包含256 个字符)转换string 的字符,要过滤掉的字符放到del 参数中
string.upper() 转换string 中的小写字母为大写
string.zfill(width) 返回长度为width 的字符串,原字符串string 右对齐,前面填充0
a.Python1.6 中只适用于Unicode 字符串,2.0 中适用于所有字符串
b. 1.5.2 版本中string 模块没有该方法
c. 在Jython2.1 有
d. 仅对Unicode 字符串有效,
e.Python2.5 或者以上版本

格式化操作符辅助指令
* 定义宽度或者小数点精度
- 用做左对齐
+ 在正数前面显示加号( + )
在正数前面显示空格
# 在八进制数前面显示零('0'),在十六进制前面显示'0x'或者'0X'(取决于用的是'x'还是'X')
0 显示的数字前面填充‘0’而不是默认的空格
% '%%'输出一个单一的'%'
(var) 映射变量(字典参数)
m.n m 是显示的最小总宽度,n 是小数点后的位数(如果可用的话)
格式化字符 转换方式

字符串格式化符号
%c 转换成字符(ASCII 码值,或者长度为一的字符串)
%ra 优先用repr()函数进行字符串转换
%s 优先用str()函数进行字符串转换
%d / %i 转成有符号十进制数
%ub 转成无符号十进制数
%ob 转成无符号八进制数
%xb/%Xb (Unsigned)转成无符号十六进制数(x/X 代表转换后的十六进制字符的大小写)
%e/%E 转成科学计数法(e/E 控制输出e/E)
%f/%F 转成浮点数(小数部分自然截断)
%g/%G %e 和%f/%E 和%F 的简写
%% 输出%
a. Python2.0 新增;而且好像只有Python 里面有.
b. Python2.4 里面%u/%o/%x/%X 在遇到负数的时候会返回一个有符号字符串

http://bbs.linuxpk.com/thread-35329-1-1.html
总结不错


本文来自ChinaUnix博客,如果查看原文请点:http://blog.chinaunix.net/u3/101606/showart_2011226.html
您需要登录后才可以回帖 登录 | 注册

本版积分规则 发表回复

  

北京盛拓优讯信息技术有限公司. 版权所有 京ICP备16024965号-6 北京市公安局海淀分局网监中心备案编号:11010802020122 niuxiaotong@pcpop.com 17352615567
未成年举报专区
中国互联网协会会员  联系我们:huangweiwei@itpub.net
感谢所有关心和支持过ChinaUnix的朋友们 转载本站内容请注明原作者名及出处

清除 Cookies - ChinaUnix - Archiver - WAP - TOP