Python 参考手册

来源:互联网 发布:mac install ant 编辑:程序博客网 时间:2024/05/29 04:54

声明:转载自 http://blog.csdn.net/jerry_1126/article/details/41240149#comments

感谢作者的辛勤总结!
由于作者的python版本是2.x的,可能部分内容与python3.x不符,请读者自行甄别

表达式

重要的内置函数

  1. #函数                                  #描述  
  2. -------------------------------------------------------------------------------------------------  
  3. abs(numbers)                           #返回一个数的绝对值  
  4. apply(func[,arg[,kwargs]])             #调用给定的函数,可选择提供参数  
  5. all(iterable)                          #如果所有iterable的元素均为真则返回True,否则返回False  
  6. any(iterable)                          #如果有任一iterable的元素为真则返回True,否则返回False  
  7. basestring()                           #str和unicode抽象超类,取决于obj的布尔值  
  8. callable(obj)                          #检查对象是否可调用  
  9. char(number)                           #返回ASCII为给定的字符  
  10. classmethod(func)                      #通过一个实例方法创建类的方法  
  11. cmp(x,y)                               #比较x,y。x<y:返回负数;x>y:返回正数;x==y,返回0  
  12. complex(real[,imag])                   #返回给定实部的复数  
  13. delattr([mapping-or-sequence])         #从给定的对象中删除给定的属性  
  14. dict([mapping-or-sequence])            #构造字典,可选择从键值对组成的列表构造。也可以用关键字参数调用  
  15. dir(object)                            #列出给定对象的大多数特性  
  16. divmod(a,b)                            #返回(a//b,a%b)  
  17. enumerate(iterable)                    #对iterable所有项进行迭代  
  18. eval(string[,globals[,locals]])        #对包含表达式的字符串进行计算。可选择给定的全局或局部作用域中进行  
  19. execfile(file[,globals[,locals]])      #执行一个Python文件,可选在给定全局或者局部作用域中进行  
  20. file(filename[,mode[,bufsize]])        #创建给定文件名的文件,可选择使用给定的模式和缓存区大小  
  21. float(object)                          #将字符串或者数值转换为浮点型  
  22. frozenset([iterable])                  #创建一个不可变集合,这意味着不能将它添加到其他集合中  
  23. getattr(object,name[,default])         #返回给定对象中指定的特性的值,可选择给定默认值  
  24. globals()                              #返回表示当前作用域的字典  
  25. hasattr(object,name)                   #检查给定的对象是否有指定的属性  
  26. help([object])                         #调用内置的帮助系统,或打印给定对象的帮助信息  
  27. hex(number)                            #将数字转换为十六进制表示的字符串  
  28. id(object)                             #返回给定对象的唯一ID  
  29. input([prompt])                        #等同于eval(raw_input(prompt))  
  30. int(object[,radix])                    #将字符串或者数字转换为整数  
  31. isinstance(object,classinfo)           #检查给定的对象是否是给定的classinfo值的实例,classinfo可以是类对象、类型对象  
  32. issubclass(class1,class2)              #检查class1是否是class2的子类  
  33. iter(object[,sentinel])                #返回一个迭代对象,可以用于迭代序列的object_iter()迭代器  
  34. len(object)                            #返回给定对象的长度  
  35. list([object])                         #构造一个列表  
  36. locals()                               #返回表示当前局部作用域的字典  
  37. long(object[,radix])                   #将字符串或者数字转换为长整形  
  38. map(function,seq1,...)                 #创建给定函数func应用到列表seq中每一项时返回的值组成的列表  
  39. max(obj1[,obj2]...)                    #如果obj1为非空序列,则返回最大的元素;否则返回所提供参数的最大值    
  40. mix(obj1[,obj2]...)                    #如果obj1为非空序列,则返回最小的元素;否则返回所提供参数的最小值         
  41. object()                               #返回所有新式类的基数Object的实例  
  42. oct(number)                            #将整型转换为八进制表示的字符串  
  43. open(filename[,mode[,bufsize]])        #file的别名,在打开文件的时候使用open而不是file  
  44. pow(x,y[,z])                           #返回x的y次方,可选择模除z  
  45. ord(char)                              #返回给定单字符的ASCII值  
  46. range([start,]stop[,step])             #使用给定的起始值和结束值来创建数值范围  
  47. property(fget[,fset[,fdel[,doc]]])     #通过一组访问器创建属性  
  48. raw_input([prompt])                    #将用户输入的数据作为字符串返回,可选择使用给定的提示符prompt  
  49. reduce(func,seq[,initializer])         #将序列的所有渐增应用给定的函数,使用累积的结果作为第一个参数,所有的项作为第二个参数,可选择给定起始值  
  50. reload(module)                         #重载入一个已经载入的模块并且将其返回  
  51. repr(object)                           #返回表示对象的字符串,一般作为eval的参数使用  
  52. reversed(object)                       #返回序列的反向迭代器  
  53. round(float[,n])                       #将给定的浮点四舍五入,小数点后保留n位  
  54. set([iterable])                        #返回从iterable生成的元素集合  
  55. setattr(object,name,value)             #设定给定对象的指定属性的值为给定值  
  56. sorted(iterable[,cmp][,key][,reverse]) #从iterable中返回一个新排序后的列表,可选的参数和列表方法sort中的参数相同  
  57. staticmethod(func)                     #从一个实例方法创建静态类方法  
  58. str(object)                            #返回表示给定对象object的格式化好的字符串  
  59. sum(seq[,start])                       #返回添加到可选参数start中的一系列数字的和  
  60. super(type[,obj/type])                 #返回给定类型的超类  
  61. tuple([sequence])                      #构造一个元祖,可选择使用sequence一样的项  
  62. type(object)                           #返回给定对象的类型  
  63. type(name,bases,dict)                  #使用给定的名称,基类和作用域返回一个新的类型对象  
  64. unichr(number)                         #chr的Unicode版本  
  65. unicode(object[,encoding[,errors]])    #返回给定对象的Unicode编码版本,可以给定编码方式和错误处理模式  
  66. vars([object])                         #返回表示局部作用于的字典,或者对应给定对象特性的字典  
  67. xrange([start,]stop[,step])            #类似于range,但是返回的对象使用较少的内存,而且只用于迭代  
  68. zip(seq1,...)                          #返回元祖的列表,每个元祖包括一个给定序列中的项。返回长度以最小为准.  

列表方法

  1. #方法                                  #描述  
  2. -------------------------------------------------------------------------------------------------  
  3. L.append(obj)                          #等同于L[len(L):len(L)] = [obj]  
  4. L.count(obj)                           #返回L[i] == obj中索引为i的值  
  5. L.extend(obj)                          #等同于L[len(L):len(L)] = seq  
  6. L.index(obj)                           #返回L[i] == obj中最小的i,不存在会触发ValueError异常  
  7. L.insert(index,obj)                    #index>0,等同于L[index:index]=[obj],index<0,插入列表最前面  
  8. L.pop([index])                         #移除并且返回给定索引的项(默认为:-1即最后一项)    
  9. L.remove(obj)                          #等同于L[L.index(obj)]      
  10. L.sort([cmp][,key][,reverse])          #对L中的项进行原地排序。可以提供比较函数cmp,创建用于排序的键的key函数和reverse标志进行自定义  

字典方法

  1. #方法                                  #描述  
  2. -------------------------------------------------------------------------------------------------  
  3. D.clear()                              #移除D中的所有项  
  4. D.copy()                               #返回D的副本  
  5. D.fromkeys(seq[,val])                  #返回从seq中获得的键和被设置为val的值的字典。可做类方法调用  
  6. D.get(key[,default])                   #如果D[key]存在,将其返回;否则返回给定的默认值None  
  7. D.has_key(key)                         #检查D是否有给定键key  
  8. D.items()                              #返回表示D项的(键,值)对列表  
  9. D.iteritems()                          #从D.items()返回的(键,值)对中返回一个可迭代的对象  
  10. D.iterkeys()                           #从D的键中返回一个可迭代对象  
  11. D.itervalues()                         #从D的值中返回一个可迭代对象  
  12. D.keys()                               #返回D键的列表  
  13. D.pop(key[,d])                         #移除并且返回对应给定键key或给定的默认值D的值  
  14. D.popitem()                            #从D中移除任意一项,并将其作为(键,值)对返回  
  15. D.setdefault(key[,default])            #如果D[key]存在则将其返回;否则返回默认值None  
  16. D.update(other)                        #将other中的每一项加入到D中。  
  17. D.values()                             #返回D中值的列表  

字符串方法

  1. #方法                                   #描述  
  2. -------------------------------------------------------------------------------------------------  
  3. S.capitalize()                          #返回首字母大写的字符串的副本  
  4. S.center(width[,fillchar])              #返回一个长度为max(len(S),width),S居中,两侧fillchar填充  
  5. S.count(sub[,start[,end]])              #计算子字符串sub的出现次数,可将搜索范围限制为S[start:end]  
  6. S.decode([encoding[,error]])            #返回使用给定编码方式的字符串的解码版本,由error指定错误处理方式  
  7. S.endswith(suffix[start[,end]])         #检查S是否以suffix结尾,可给定[start:end]来选择匹配的范围  
  8. S.expandtabs([tabsize])                 #返回字符串的副本,其中tab字符会使用空格进行扩展,可选择tabsize  
  9. S.find(sun[,start[,end]])               #返回子字符串sub的第一个索引,不存在则为-1,可选择搜索范围  
  10. S.index(sub[,start[,end]])              #返回子字符串sub的第一个索引,不存在则引发ValueError异常.  
  11. S.isalnum()                             #检查字符串是否由字母或数字字符组成  
  12. S.isalpha()                             #检查字符串是否由字母字符组成  
  13. S.isdigit()                             #检查字符串是否由数字字符组成  
  14. S.islower()                             #检查字符串是否由小写字母组成  
  15. S.isspace()                             #检查字符串是否由空格组成  
  16. S.istitle()                             #检查字符串时候首字母大写  
  17. S.isupper()                             #检查字符串是否由大写字母组成  
  18. S.join(sequence)                        #返回其中sequence的字符串元素由S连接的字符串  
  19. S.ljust(width[,fillchar])               #返回S副本左对齐的字符串,长度max(len(S),W),右侧fillchar填充  
  20. S.lower()                               #返回所有字符串都为小写的副本  
  21. S.lstrip([char])                        #向左移除所有char,默认移除(空格,tab,\n)  
  22. S.partition(seq)                        #在字符串中搜索seq并返回  
  23. S.replace(old,new[,max])                #将new替换olad,最多可替换max次  
  24. S.rfind(sub[,start[,end]])              #返回sub所在的最后一个索引,不存在则为-1,可定搜索范围S[start:end]  
  25. S.rindex(sub[,start[,end]])             #返回sub所在的最后一个索引,不存在则会引发ValueError异常。  
  26. S.rjust(width[,fillchar])               #返回S副本右对齐的字符串,长度max(len(S),W),左侧fillchar填充  
  27. S.rpartition(seq)                       #同Partition,但从右侧开始查找  
  28. S.rstip([char])                         #向右移除所有char,默认移除(空格,tab,\n)  
  29. S.rsplit(sep[,maxsplit])                #同split,但是使用maxsplit时是从右往左进行计数  
  30. S.split(sep[,maxsplit])                 #使用sep做为分割符,可使用maxsplit指定最大切分数  
  31. S.zfill(width)                          #在S的左侧以0填充width个字符  
  32. S.upper()                               #返回S的副本,所有字符大写  
  33. S.splitlines([keepends])                #返回S中所有行的列表,可选择是否包括换行符  
  34. S.startswith(prefix[,start[,end]])      #检查S是否以prefix开始,可用[start,end]来定义范围  
  35. S.strip([chars])                        #移除所有字符串中含chars的字符,默认移除(空格,tab,\n)  
  36. S.swapcase()                            #返回S的副本,所有大小写交换  
  37. S.title()                               #返回S的副本,所有单词以大写字母开头  
  38. S.translate(table[,deletechars])        #返回S的副本,所有字符都使用table进行的转换,可选择删除出现在deletechars中的所有字符  

基本数据类型

  1. #类型             #描述                   示例  
  2. --------------------------------------------------------  
  3. Integer           #无小数部分的数         42  
  4. Long Integer      #大整数                 42L  
  5. Float             #有小数部分的数         42.5, 42.5e-2  
  6. Complex           #实数和虚数的和         4 + 3j,42j  
  7. String            #不可变的字符序列       'foo',"bar","""abc""",r'\n'    
  8. Unicode           #不可变的Unicode序列    u'foo',u"bar",u"""abc"""  

Python整理开发环境搭建

Python网络学习资源汇总

语句

简单语句

简单语句由逻辑上的一行组成


表达式语句

表达式也可以是语句。如果表达式是函数调用或者文档字符串的话尤其如此
  1. "This module contains SPAM-related functions"  

断言语句

用于检查条件是否为真,如假的话会引发AssertionError的异常.
  1. #为真:  
  2. >>> age = 20  
  3. >>> assert age >= 12'The age under 12 is not allowed!'  
  4. #为假:  
  5. >>> assert age >= 40'The age must over 40!'  
  6. Traceback (most recent call last):  
  7.   File "<stdin>", line 1in <module>  
  8. AssertionError: The age must over 40!  

赋值语句

赋值语句将变量绑定到值上。多个变量可以通过队列解包的方式赋值,复制也可以是连锁的。
  1. >>> name, age = 'Jerry'38   # 序列解包  
  2. >>> x = y = z = 42            # 链式赋值  
  3. >>> x = 42                    # 简单赋值      

增量赋值语句

赋值也可以通过运算符来扩充。运算符可以应用到已有变量值和新值,然后变量会被重新绑定到结果上。
  1. >>> x *= 2                    # x = x * 2  
  2. >>> x += 5                    # x = x + 5  

pass语句

无操作,啥事不用干。可做占位符,或不需要做任何事情的语句
  1. try:  
  2.     x.name  
  3. except AttributeError:  
  4.     pass  
  5. else:  
  6.     print 'Hello', x.name  

del语句

用于解除变量和特性的绑定,并且移除数据结构中的某部分。但不能用于直接删除值,因为值只能通过垃圾收集进行删除
  1. del x                        # 解除变量绑定  
  2. del seq[4]                   # 删除序列元素  
  3. del seq[4:]                  # 删除序列切片  
  4. del map['foo']               # 删除字典中的映射项  

print语句

该语句将一个或多值写入到给定的流中,默认sys.stdout.除非以逗号结束,否则会增加一个换行符.
  1. >>> print 'Hello,World!'      # 将'Hello,World!\n'写入到sys.stdout中  
  2. >>> print 123             # 将'1 2 3\n'写入到sys.stdout中  
  3. >>> print >> somefile, 'xyz'  # 将'xyz'写入到somefile中  
  4. >>> print 42,                 # 将'42'写入到sys.stdout中  

return语句

return语句会终止函数的运行,并且返回值。如果没有提供返回值,则返回None.

  1. >>>return                     # 从当前函数中返回None  
  2. >>>return 42                  # 从当前函数中返回42  
  3. >>>return 123             # 从当前函数中返回(1,2,3)  

yield语句

yield语句会暂时终止生成器的执行并生成一个值。生成器是迭代器的一种形式,可以和其他对象一起用于for循环.

  1. yielda 42                     # 从当前函数中返回42  

raise语句

raise语句引发一个异常。可以不用参数进行调用(在except子句内,重引发当前捕捉到的异常)

也可以子类化Exception并且提供可选的参数(在这种情况下,会构造一个实例),或是使用Exception子类的一个实例

  1. raise                         # 只能用于except子句中  
  2. raise IndexError  
  3. raise IndexError, 'index out of bounds'  
  4. raise IndexError('index out of bounds')  

break语句

break语句会结束当前的for或while循环,并且会立即执行循环后的语句

  1. while True:  
  2.     line = file.readline()  
  3.     if not line:  
  4.         break  
  5.     print line  

continue语句

contineu语句会终止当前循环中的迭代,但是并不会完全终止循环,而是从下一个迭代过程的开始处继续执行

  1. while True:  
  2.     line = file.readline()  
  3.     if not line: break  
  4.     if line.isspace(): continue  
  5.     print line  

import语句

import语句用于从外部模块中导入名称(绑定到函数、类、或者变量)。

这也包括from __future__ import * 语句。这个语句用于导入在未来的Python版本中成为标准的特性。

  1. import math  
  2. from math import sqrt  
  3. from math import sqrt as squareroot  
  4. from math import *  

global语句

global语句用于标记一个变量为全局变量。它可以在函数内,以允许函数体内的语句重新绑定全局变量。

使用global语句一般来说被认为是不好的编程风格,能避免的话尽量避免。

  1. count = 1  
  2. def inc():  
  3.     global count  
  4.     count += 1  

exec语句

exec语句用于执行包含Python语句的字符串,可选择给定的全局和局部命名空间(字典)。

  1. exec 'print "Hello,World!"'  
  2. exec 'x = 2' in myglobals, mylocals   # mygolobals和mylocals都是字典  

lambda语句

Python中函数的一种,无变量,无return,简单方便.

  1. lambda x,y: x ** 2 + y, (1,2)         # 冒号分割,前面变量,后面return值  

复合语句

复合语句包括其他语句块

if语句

if语句用于条件执行,可以包括elif和else语句

  1. if x < 10:  
  2.     print 'Less than 10'  
  3. elif 10 <= x <= 20:  
  4.     print 'Less than 20'  
  5. else:  
  6.     print 'More than 20'  

while语句

while语句用于在给定的条件为真的时候重复执行。它可以包括else子句(在循环正常结束,在没有break或者return语句的时候执行)

  1. x = 1  
  2. while x < 100:  
  3.     x *= 2  
  4. print x  

for语句

for语句用于对序列或者其他可迭代对象(对象有返回迭代器的__iter__方法)的元素重复执行循环。

它可以包括一个else子句(在循环正常结束,没有任何break或者return语句的时候执行)

  1. for i in range(100, -1):  
  2.     print i  
  3. print 'Ignition!'  

try语句

try语句用于封闭一段可能发生一个或者多个异常的代码,让程序可以捕捉这些异常,并且在捕捉到异常的时候进行异常处理。

try语句可以包含多个except子句来处理异常,以及多个finally子句(无论如何都会执行的语句,用于清理)

  1. try:  
  2.     1/0  
  3. except ZeroDivisionError:  
  4.     print "Can't divide anything by zero."  
  5. finally:  
  6.     print 'Done trying to calculate 1/0'  

with语句

with语句使用所谓的上下文管理器对代码块进行包装,允许上下文管理器实现一些设置和清理操作。

例如:文件可以作为上下文管理器使用,它们可以关闭自身作为清理的一部分。

NOTE:在PYTHON2.5中,需要使用from __future__ import with_statement进行with语句的导入

  1. with open('NOTE.txt') as myfile:  
  2.     dosomething(myfile)  
  3. #文件在此处关闭  

函数定义

函数定义用于创建函数对象,并且绑定全局或者局部变量到函数对象上.

  1. def double(x):  
  2.     return x * 2  

类定义

类定义用于创建类对象,并且绑定全局或局部变量到类对象上

  1. class Doubler:  
  2.     def __init__(self,value):  
  3.         self.value = value  
  4.     def double(self):  
  5.         self.value *= 2  

Python3.0新特性

  1. #版本           #新特性  
  2. -----------------------------------------------------------------------------------------  
  3. 01.Python 3.0:  #print是一个函数  
  4. 02.Python 3.0:  #文本文件强制编码  
  5. 03.Python 3.0:  #zip、map和filter函数返回迭代器  
  6. 04.Python 3.0:  #dict.keys()、dict.values()和dict.items()返回视图而不是列表  
  7. 05.Python 3.0:  #cmp参数不再用于sorted和list.sort,使用key代替  
  8. 06.Python 3.0:  #除法成了真的除法 1/2 == 0.5  
  9. 07.Python 3.0:  #只有一个字符串类型str,等同于Python2.x版本中的unicode类型  
  10. 08.Python 3.0:  #basestring类被去除了  
  11. 09.Python 3.0:  #新的bytes类型用于表示二进制数据和编码后文本  
  12. 10.Python 3.0:  #bytes写成b"abc"  
  13. 11.Python 3.0:  #UTF-8为默认的Python源文件编码方式。可以使用非ASCII标识符  
  14. 12.Python 3.0:  #StringIO和cStringIO由io.StringIO和io.BytesIO代替  
  15. 13.Python 3.0:  #新的内建字符串格式化方法代替了%运算符  
  16. 14.Python 3.0:  #函数可以注释它自己的参数和返回值  
  17. 15.Python 3.0:  #使用raise Exception(args)代替 raise Exception, args  
  18. 16.Python 3.0:  #使用except MyException as identifier代替 except MyException,identifier  
  19. 17.Python 3.0:  #经典类和旧式类被去除了  
  20. 18.Python 3.0:  #Foo(Base,metaclass=Meta): 用于设置原类  
  21. 19.Python 3.0:  #增加抽象类@abstractmethod和@abstractproperty  
  22. 20.Python 3.0:  #增加了类修饰符,类似于函数修饰符  
  23. 21.Python 3.0:  #不再使用``,而使用repr函数  
  24. 22.Python 3.0:  #<>运算符不再使用,一律使用!=  
  25. 23.Python 3.0:  #True,False、None、as和with成为关键字,意味着不能用作变量名  
  26. 24.Python 3.0:  #long类型被重命名为int,是现在唯一的整形,没有L  
  27. 25.Python 3.0:  #sys.maxint被去除,不再有最大值  
  28. 26.Python 3.0:  #x<y在x和y属不同类型的情况下会报错  
  29. 27.Python 3.0:  #__getslice__和类似的的函数被去除。可以使用分片对象调用__getitem__  
  30. 28.Python 3.0:  #参数可以作为专用关键字  
  31. 29.Python 3.0:  #使用nonloacl x以后,可以在外部作用域对x进行赋值  
  32. 30.Python 3.0:  #raw_input被重命名为input。使用eval(input())获取原先input的功能   
  33. 31.Python 3.0:  #xrange重命名为range  
  34. 32.Python 3.0:  #元祖参数解包功能被去除。def foo(a,(b,c)):不再可用  
  35. 33.Python 3.0:  #迭代器中的next函数被重命名为x.__next__。next(x)会调用x.__next__  
  36. 34.Python 3.0:  #增加了八进制字面量。以0o666代替0666  
  37. 35.Python 3.0:  #增加了二进制字面量。0b1010 == 10。bin()函数的作用类似于hex()和oct()  
  38. 36.Python 3.0:  #增加了星号迭代器解包功能,对于参数a和b来说,使用*rest = seq或*rest.a = seq  
  39. 37.Python 3.0:  #super函数可以不用参数调用,行为也会正确  
  40. 38.Python 3.0:  #string.letters和相关函数被去除。使用string.ascii_letters代替  
  41. 39.Python 3.0:  #apply函数被去除。使用f(*x)代替apply(f.x)  
  42. 40.Python 3.0:  #callable被去除。使用hasattr(f,"__call__")代替callable(f)  
  43. 41.Python 3.0:  #coerce函数被去除  
  44. 42.Python 3.0:  #execfile被去除。使用exec代替  
  45. 43.Python 3.0:  #file对象被去除  
  46. 44.Python 3.0:  #reduce函数被移动到functools模块中  
  47. 45.Python 3.0:  #reload函数被去除。使用exec代替  
  48. 46.Python 3.0:  #dict.has_key被去除。使用k in d代替d.has_key(k)  
  49. 47.Python 3.0:  #以新的语法创建集合{1,3,2},类似于set([1,3,2])  


说明:用于记录开始使用PYTHON编程的时候,可以用于更新记忆的方便的“备忘录”,完整的参考手册,请参考Python的标准文档

https://www.python.org/doc/
0 0
原创粉丝点击