个人工具

PythonSkills

来自Ubuntu中文

跳转至: 导航, 搜索

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')        #测试这个对象是否存在