python的标准库学习之__buitin__

python有一些内建的函数,这些内建函数在编程时,我们可以直接使用不用导入任何模块最常见的就是print函数,下面是所有的内建函数的列表

abs() divmod() input() open() staticmethod()
all() enumerate() int() ord() str()
any() eval() isinstance() pow() sum()
basestring() execfile() issubclass() print() super()
bin() file() iter() property() tuple()
bool() filter() len() range() type()
bytearray() float() list() raw_input() unichr()
callable() format() locals() reduce() unicode()
chr() frozenset() long() reload() vars()
classmethod() getattr() map() repr() xrange()
cmp() globals() max() reversed() zip()
compile() hasattr() memoryview() round() __import__()
complex() hash() min() set() apply()
delattr() help() next() setattr() buffer()
dict() hex() object() slice() coerce()
dir()

1、abs(x) # 返回x的绝对值

2、all(iterable) # 如果可迭代对象里面的元素如果都是true就会返回true,如果此对象为空的话,返回True

3、any(iterable) # 同上,但是如果此迭代对象为空的话,返回False

4、basestring() # 这是个抽象类型,是str和unicode的父类,不能被调用和初始化,可用来检查一个对象是不是str或者unicode:str or unicode.isinstance(obj, basestring)

5、bin(x) # 把十进制数转换成二进制字符串,x必须为python的int对象

6、bool([x]) # 把一个值转换为bool类型,然后用这个标准的类型来进行程序判断,其中如果x为False或者省略返回False,否则返回True

7、bytearray([source[,encoding[,errors]]]) # 可以暂且理解为把字符串中的每个字符转换成ascci码

8、callable(object) # 如果对象是可调用,则返回True

  e.g.:  

  def dump(function):
    if callable(function):
      print function, "is callable"
    else:
      print function, "is *not* callable"
  class A:
    def method(self, value):
      return value
  class B(A):
    def _ _call_ _(self, value):
      return value

  上面的dump函数实现了检验函数是否是可调用的,上面的两个类A,B都是可调用的,但是B的对象可被调用,A的对象不可被调用,因为A的类没有定义__call__方法

9、chr(i) # 返回ascci码对应的字符

10、classmethod # 返回一个类的函数方法

11、cmp(x, y) # 比较x和y,并返回一个整型的alue

12、compile(source, filename, mode[, flags[, dont_inherit]]) # 编译一段代码,然后执行,source就是要被编译的代码字符串,filename是要存储的代码的文件,mode就是选择用exec执行还是用eval执行

13、complex([real[,imag]]) # 构造一个复数

14*attr系列函数,hasattr(), getattr(),setattr(), delattr()*attr()系列函数可以在各种对象下工作,不限于类(class)和实例(instances) ,但是在类和实例中使用频繁。注意:当使用这些函数时,你传入你正在处理的对象作为第一个参数,但属性名,也就是这些函数的第二个参数,是这些属性的字符串名字。换句话说,在操作 obj.attr 时,就相当于调*attr(obj,'attr'....)系列函数

1、delattr(object, name) # 删除一个对象的属性

2、getattr(object, name[,default]) # 相当与调用一个对象的方法

3、hasattr(object, name) # 检查一个属性是不是该对象的

4、setattr(object, name, value) # 设置对象的属性

15、dict() # 创建一个字典

16、dir() # 列出当前范围的可用属性,用于python的自省

17、divmod(a, b) # 返回a除以b的的结果,以元组的方式返回,第一个为商,二个为余数

18、 enumerate(sequence, start=0) # 返回一个枚举类型的对象

19、eval(expression[,globals[,locals]]) # 执行字符串代码

20、execfile(filename[,globals[,locals]]) # 与exec相似,从名字看出来,它是从文件中直接读出执行,但是与module还不一样,具体不一样,等用的到的时候再来研究

21、file(name[,mode[,buffering]]) # 它更适合用来检验一个对象是不是文件类型

22、filter(function, iterable) # 过滤器,过滤掉iterable里面不符合前面函数的元素

23、float([x]) # 把字符串或者整型的数字转换成实型的

24、format(value[,format_spec])

25、frozenset([iterable]) # 返回一个frozenset对象

26、globals() # 返回当前可用的全局变量

27、hash(object) # 返回一个对象的hash值

28、help([object]) # 查看对象的帮助手册

29、hex(x) # 把十进制数转换成十六进制字符串

30、id(object) # 返回一个对象的id

31、input([prompt]) # 一般都用raw_input()

32、int(x=0)/int(x, base=10) # 如果有基底就以x为base为基底,否则就是十进制

33、isinstance(object, classinfo) # 检查一个对象是不是一个类的实例

34、issubclass(class, classinfo) # 检查一个类是不是另一个的子类

35、iter(o[,sentinel]) # 返回一个迭代器,第二个参数有没有,对于第一个有很大关系,具体什么关系,用的时候再查找吧

  e.g.:

  with open('mydata.txt') as fp:

    for line in iter(fp.readline, '')

      process_line(line)

36、len(s) # 返回一个对象的大小

37、list([iterable]) # 返回一个列表,里面的参数就是可迭代的对象,可能在应用生成器或者迭代器的时候会用到

38、locals() # 返回当前的符号

39、long() # 用法同int

40、map(function, iterable,...) # 对一系列的值依次代进函数中去,然后生成一个列表存储结果

41、max(iterable[,key]) # 返回一系列值中的最大值

42、memoryview(obj) # 返回一个“memory view”的的对象

43、min(iterable[, key]) # 用法同max

44、next(iterable[,default]) # 返回一个迭代器的下一个值

45、objct() # 返回一个新的对象

46、oct(x) # 把一个十进制数转换成一个八进制字符串

47、open(name[mode[,buffering]]) # 打开一个文件

48、ord(c) # 返回一个unicode编码字符的unicode返回一个其它字符编码的其他码值

49、pow(x,y[,z]) # 返回x的y次幂,如果存在z则再mod上z

50、print # 不用说了

51、property([fget[fset[fdel[,doc]]]]) # 返回一个新类的属性

52、range(stop)/range(start,stop[,step]) # start代表开始,stop代表结束,step代表序列之间隔开的值

53、raw_input([prompt]) # 不用说了

54、reduce(function, iterable[,initializer]) # 相当与一个叠*(*代表加,乘,除等运算)的函数,但是所实现的函数功能远不止这些,因为function是未知的

55、reload(module) # 再次加载一次模块,这在你不想推出编译器而又对已经导入的模块改动的情况下使用

56、repr(object) # 和eval的作用好像相反,就是返回一个对象的规范的字符串描述

57、reversed(seq) # 返回一个序列的逆序

58、round(number[,ndigits]) # 对于十进制就是四舍五入法

59、set([iterable]) # 返回一个集合

60、slice(stop) # 貌似没有什么大的作用

61、sorted(iterable[,cmp[,key[,reverse]]]) # 返回一个排序的列表

  # 最常用的。升序排列
  >>> sorted([1, 5, 3, 4, 6])
  [1, 3, 4, 5, 6]
  # 逆序排列
  >>> sorted([1, 5, 3, 4, 6], reverse=True)
  [6, 5, 4, 3, 1]
  # 使用key
  >>> sorted([1, 5, 3, 4, 6], key=lambda x: x%3)
  [3, 6, 1, 4, 5]
  # 使用cmp
  >>> sorted([1, 5, 3, 4, 6], cmp=lambda x,y: x%3 - y%3)
  [3, 6, 1, 4, 5]

62、staticmethor(function) # 返回一个静态的方法对于函数

63、str(object='') # 返回一个可阅读的对象的字符串

64、sum(iterable[,start]) # 返回所有的和

65、super(type[,object-or-type]) # 这个函数的目的就是帮助程序员找出相应的父类,然后方便调用相关的属性

  e.g.:  

class MyClass(SuperClass):
    def__init__(self):
        super(MyClass,self).function()
        self.function

  如上,superclass是一个父类,Myclass继承于它,然后在__init__函数中需要调用父类的函数function,所以通过super(),其不但能找到基类方法,而且还为我们传进 self。  这意  味着如果你改变了类继承关系,你只需要改一行代码(class 语句本身)而不必在大量代码中去查找所有被修改的那个类的名字。

66、tuple([iterable]) # 返回一个元组

67、type(object) # 不用说了有必要说明的情况的是,他还有三个参数的情况

68、unichr(i) # 返回unicode字符是i的字符

69、unicode(object='') # 返回一个unicode字符

70、vars([object]) # vars()内建函数与 dir()相似,只是给定的对象参数都必须有一个__dict__属性。vars()返回一个字典,它包含了对象存储于其__dict__中的属性(键)及值。如果提供的对象没有这样一个属性,则会引发一个 TypeError 异常。如果没有提供对象作为 vars()的一个参数,它将显示一个包含本地名字空间的属性 (键) 及其值的字典, 也就是, locals()。

71、xrange(stop)/xrange(start, stop[,step]) # 正逐渐取代range的一个方法,返回一个xrange的对象,主要用在数据非常大的时候

72、zip([iterable,...]) # 制作表格

73、__import__ # 调用上面所函数的方法

posted @ 2014-02-22 17:01  Hacker_MJW  阅读(799)  评论(0编辑  收藏  举报