PythonSkills:修订间差异
来自Ubuntu中文
跳到导航跳到搜索
小 →对象 |
|||
(未显示同一用户的4个中间版本) | |||
第1行: | 第1行: | ||
Python 技巧 | Python 技巧 | ||
== 字符串 == | == 字符串 == | ||
=== 常用函数 === | |||
s.capitalize() #第一个字母变大写 | |||
s.count(sub [,start [,end]]) #子串sub出现的次数 | |||
s.encode([encoding [,errors]]) #改变字符串的编码 | |||
s.startswith(prefix [,start [,end]]) #检查字符串的开头是否为prefix | |||
s.endswith(suffix [,start [,end]]) #检查字符串的结尾是否是suffix | |||
s.expandtabs([tabsize]) #将制表符转换为一定数量的空格 | |||
s.find(sub [,start [,end]]) #返回子串 sub 首次出现的位置或者 -1 | |||
s.rfind(sub [,start [,end]]) #返回子串 sub 末次出现的位置或者 -1 | |||
s.index(sub [,start [,end]]) #返回子串 sub 首次出现的位置或者引起异常 | |||
s.rindex(sub [,start [,end]]) #返回子串 sub 末次出现的位置或者引发异常 | |||
s.isalnum() #字符是否都为字母或数字 | |||
s.isalpha() #字符是否都为字母 | |||
s.isdigit() #字符是否都为数字 | |||
s.islower() #字符是否都为小写 | |||
s.isspace() #字符是否都为空白 | |||
s.istitle() #检查字符是否为标题格式(每个单词的第一个字母大写) | |||
s.isupper() #字符是否都为大写 | |||
s.join(t) #用 s 连接 t 中的所有字符串 | |||
s.center(width) #在长度为 width 范围内将字符串置中 | |||
s.ljust(width) #在宽度为 width 内左对齐 | |||
s.rjust(width) #在宽度为 width 内右对齐 | |||
s.lower() #s 中所有字符小写 | |||
s.upper() #s 中所有字符大写 | |||
s.replace(old , new [,maxreplace]) #将子串 old 替换为 new | |||
s.lstrip() #删去字符串s开头的空白 | |||
s.rstrip() #删去字符串s末尾的空白 | |||
s.strip() #删去字符串s开头和末尾的空白 | |||
s.split([sep [,maxsplit]]) #将字符串 s 分割成一个字符串列表,其中 sep 为分隔符,maxsplit是最大分割次数 | |||
s.splitlines([keepends]) #将字符串按行分割为一个字符串列表,若keepends为1,则保留换行符'\n' | |||
s.swapcase() #串内字符大写变小写,小写变大写,没有大小写的不变 | |||
s.title() #s 转换为标题格式(每个单词的第一个字母大写) | |||
s.translate(table [,deletechars ]) #使用字符转换表转换一个字符串 | |||
=== 对象强制转换成字符串 === | === 对象强制转换成字符串 === | ||
unicode(anything) #转为unicode字符串,python2适用 | unicode(anything) #转为unicode字符串,python2适用 | ||
str(anything) | str(anything) | ||
== 列表 == | |||
=== 常用函数 === | |||
l[i] #返回序列l的元素i | |||
l[i :j] #返回一个切片 | |||
len(l) #序列中元素的个数 | |||
min(l) #l 中的最小值 | |||
max(l) #l 中的最大值 | |||
l[i] = v #给某个元素赋新值 | |||
l[i:j] = t #用 序列 t 中的所有元素替换掉 l 序列中的索引从 i 至 j 的元素。 | |||
del l[i] #删除序列 l 中索引为 i 的元素。 | |||
del l[i :j] #删除序列 l 中的索引从 i 至 j 的元素 | |||
list(l) #把序列 l 转换为一个列表 | |||
l.append(x) #把一个元素添加到列表的结尾,相当于 l[len(l):] = [x] | |||
l.extend(t) #将链表 t 的所有元素添加到 l 的末尾来扩充列表 l,相当于 l[len(l):] = t | |||
l.count(x) #返回值 x 在列表 l 中出现的次数 | |||
l.index(x) #返回列表 l 中第一个值为 x 的元素的索引值 | |||
l.insert(i,x) #在 l[i] 前插入一个元素 x | |||
l.pop([i]) #返回 l[i] 的值并将 l[i] 元素从列表中删除。如果 i 被省略, l.pop() 就对最后一个元素进行操作。 | |||
l.remove(x) #删除列表中值为 x 的第一个元素 | |||
l.reverse() #翻转 l 中的全部元素 | |||
l.sort([cmpfunc]) #对列表 l 中的元素进行排序,cmpfunc 是一个可选的比较函数 | |||
== 字典 == | == 字典 == | ||
第9行: | 第65行: | ||
a_dictionary.has_key(x) #python2 | a_dictionary.has_key(x) #python2 | ||
x in a_dictionary #python3 | x in a_dictionary #python3 | ||
== 日期和时间 == | |||
=== 计算两个时间的差 === | |||
>>> import datetime | |||
>>> d1 = datetime.datetime(2005, 2, 16) | |||
>>> d2 = datetime.datetime(2004, 12, 31) | |||
>>> (d1 - d2).days | |||
47 | |||
== 对象 == | == 对象 == | ||
=== | === 常用函数 === | ||
x.__name__ #获得对象的名称 | |||
dir(x) #获得对象的属性列表 | |||
type(x) #获得对象的类型 | |||
id(x) #获得对象的唯一号 | |||
hasattr(x, '__doc__') #检查对象是否具有这个属性 | |||
getattr(x, '__doc__') #获得对象的这个属性 | |||
callable(x) #测试对象的可调用性 | |||
isinstance(x, str) #测试对象是否是某个类型 | |||
issubclass(SuperMen, Person) #测试对象是否是某个子类 | |||
vars().has_key('x') #测试这个对象是否存在 | |||
2010年3月7日 (日) 21:43的最新版本
Python 技巧
字符串
常用函数
s.capitalize() #第一个字母变大写 s.count(sub [,start [,end]]) #子串sub出现的次数 s.encode([encoding [,errors]]) #改变字符串的编码 s.startswith(prefix [,start [,end]]) #检查字符串的开头是否为prefix s.endswith(suffix [,start [,end]]) #检查字符串的结尾是否是suffix s.expandtabs([tabsize]) #将制表符转换为一定数量的空格 s.find(sub [,start [,end]]) #返回子串 sub 首次出现的位置或者 -1 s.rfind(sub [,start [,end]]) #返回子串 sub 末次出现的位置或者 -1 s.index(sub [,start [,end]]) #返回子串 sub 首次出现的位置或者引起异常 s.rindex(sub [,start [,end]]) #返回子串 sub 末次出现的位置或者引发异常 s.isalnum() #字符是否都为字母或数字 s.isalpha() #字符是否都为字母 s.isdigit() #字符是否都为数字 s.islower() #字符是否都为小写 s.isspace() #字符是否都为空白 s.istitle() #检查字符是否为标题格式(每个单词的第一个字母大写) s.isupper() #字符是否都为大写 s.join(t) #用 s 连接 t 中的所有字符串 s.center(width) #在长度为 width 范围内将字符串置中 s.ljust(width) #在宽度为 width 内左对齐 s.rjust(width) #在宽度为 width 内右对齐 s.lower() #s 中所有字符小写 s.upper() #s 中所有字符大写 s.replace(old , new [,maxreplace]) #将子串 old 替换为 new s.lstrip() #删去字符串s开头的空白 s.rstrip() #删去字符串s末尾的空白 s.strip() #删去字符串s开头和末尾的空白 s.split([sep [,maxsplit]]) #将字符串 s 分割成一个字符串列表,其中 sep 为分隔符,maxsplit是最大分割次数 s.splitlines([keepends]) #将字符串按行分割为一个字符串列表,若keepends为1,则保留换行符'\n' s.swapcase() #串内字符大写变小写,小写变大写,没有大小写的不变 s.title() #s 转换为标题格式(每个单词的第一个字母大写) s.translate(table [,deletechars ]) #使用字符转换表转换一个字符串
对象强制转换成字符串
unicode(anything) #转为unicode字符串,python2适用 str(anything)
列表
常用函数
l[i] #返回序列l的元素i l[i :j] #返回一个切片 len(l) #序列中元素的个数 min(l) #l 中的最小值 max(l) #l 中的最大值 l[i] = v #给某个元素赋新值 l[i:j] = t #用 序列 t 中的所有元素替换掉 l 序列中的索引从 i 至 j 的元素。 del l[i] #删除序列 l 中索引为 i 的元素。 del l[i :j] #删除序列 l 中的索引从 i 至 j 的元素 list(l) #把序列 l 转换为一个列表 l.append(x) #把一个元素添加到列表的结尾,相当于 l[len(l):] = [x] l.extend(t) #将链表 t 的所有元素添加到 l 的末尾来扩充列表 l,相当于 l[len(l):] = t l.count(x) #返回值 x 在列表 l 中出现的次数 l.index(x) #返回列表 l 中第一个值为 x 的元素的索引值 l.insert(i,x) #在 l[i] 前插入一个元素 x l.pop([i]) #返回 l[i] 的值并将 l[i] 元素从列表中删除。如果 i 被省略, l.pop() 就对最后一个元素进行操作。 l.remove(x) #删除列表中值为 x 的第一个元素 l.reverse() #翻转 l 中的全部元素 l.sort([cmpfunc]) #对列表 l 中的元素进行排序,cmpfunc 是一个可选的比较函数
字典
字典是否包含特定的键(key)
a_dictionary.has_key(x) #python2 x in a_dictionary #python3
日期和时间
计算两个时间的差
>>> import datetime >>> d1 = datetime.datetime(2005, 2, 16) >>> d2 = datetime.datetime(2004, 12, 31) >>> (d1 - d2).days 47
对象
常用函数
x.__name__ #获得对象的名称 dir(x) #获得对象的属性列表 type(x) #获得对象的类型 id(x) #获得对象的唯一号 hasattr(x, '__doc__') #检查对象是否具有这个属性 getattr(x, '__doc__') #获得对象的这个属性 callable(x) #测试对象的可调用性 isinstance(x, str) #测试对象是否是某个类型 issubclass(SuperMen, Person) #测试对象是否是某个子类 vars().has_key('x') #测试这个对象是否存在