PythonSkills:修订间差异

来自Ubuntu中文
跳到导航跳到搜索
Oneleaf留言 | 贡献
Oneleaf留言 | 贡献
 
(未显示同一用户的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


== 对象 ==
== 对象 ==
=== 获得对象的名称 ===
=== 常用函数 ===
  print x.__name__
  x.__name__     #获得对象的名称
=== 获得对象的属性列表 ===
  dir(x)       #获得对象的属性列表
  print dir(x)
  type(x)     #获得对象的类型
=== 获得对象的类型 ===
  id(x)         #获得对象的唯一号
  print type(x)
  hasattr(x, '__doc__')     #检查对象是否具有这个属性
=== 获得对象的唯一号 ===
  getattr(x, '__doc__')     #获得对象的这个属性
  print id(x)
  callable(x)                 #测试对象的可调用性
=== 检查对象是否具有这个属性 ===
  isinstance(x, str)       #测试对象是否是某个类型
  print hasattr(x, '__doc__')
  issubclass(SuperMen, Person)         #测试对象是否是某个子类
=== 获得对象的这个属性 ===
  vars().has_key('x')       #测试这个对象是否存在
  print getattr(x, '__doc__')
=== 测试对象的可调用性 ===
  print callable(x)
=== 测试对象是否是某个类型 ===
  print isinstance(x, str)
=== 测试对象是否是某个子类 ===
  print issubclass(SuperMen, Person)
=== 测试这个对象是否存在 ===
  print 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')        #测试这个对象是否存在