Chinaunix首页 | 论坛 | 博客
  • 博客访问: 21451
  • 博文数量: 3
  • 博客积分: 1410
  • 博客等级: 上尉
  • 技术积分: 50
  • 用 户 组: 普通用户
  • 注册时间: 2009-07-22 17:14
文章分类

全部博文(3)

文章存档

2011年(1)

2009年(2)

我的朋友
最近访客

分类: Python/Ruby

2009-07-29 02:28:00

String 模块 

 

成员常量

string.ascii_lettersstring.ascii_lowercase+ string.ascii_uppercase

,小写字母的集合

string.ascii_uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ',大写字母的集合

string.digits'0123456789',十进制字符

string.hexdigits'0123456789abcdefABCDEF'16进制字符

string.lettersstring.lowercase+ string.uppercase

string.lowercase'abcdefghijklmnopqrstuvwxyz'

string.uppercase'ABCDEFGHIJKLMNOPQRSTUVWXYZ'

string.octdigits'01234567',八进制字符

string.punctuation'!"#$%&\'()*+,-./:;<=>?@[\\]^_`{|}~'

string.printable, , .

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就可以是0120×23这种形式的字符串,如果是16那么s就只能是0×230X12这种形式的字符串。字符串尾部不能带lL,除非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 在遇到负数的时候会返回一个有符号字符串

 

 总结不错

阅读(922) | 评论(0) | 转发(0) |
给主人留下些什么吧!~~