Python的强大有很大一部分是因为其庞大的标准库提供了各式各样的功能,基本上日常使用中你所需要的功能都可以从中找到,从而大大减轻开发人员的压力,节省开发人员的时间,因此,要想更好的使用python,就需要对其标准库有一定的了解,本系列文章即是介绍python中重要的标准库模块。


内建函数(Built-in Function)提供了一些最最常用的功能,是其它很多模块的基础,故开篇第一章就介绍python提供的内建函数。

abs(x)

返回x的绝对值。

>>> abs(-1)
1

all(iterable)

iterable 中的所有元素都为True时返回True,否则返回False。

>>> test = [1,2,3,0]
>>> all(test)
False
>>> test = [1,2,3]
>>> all(test)
True

any(iterable)

iterable 中的元素有一个为True时返回True,否则返回False。

basestring()

字符串类型str和unicode的基类,抽象类型。

bin(x)

将一个整数x转换为二进制字符串。

>>> bin(10)
'0b1010'

callable(object)

判断对象object是否可以被调用,可以的话返回True。可被调用的对象需要实现__call__()方法。

>>> callable(str)
True
>>> callable(1)
False

chr(i)

返回i对应的ASCII字符。

>>> chr(68)
'D'

classmethod(function)

根据函数function返回一个类方法,常用作类方法装饰器。

class Test(object): 
@classmethod 
def f(cls, arg1, arg2, ...):
 ...

cmp(x,y)

比较对象x和y,xy 返回正数。

complex([real[, imag]])

返回一个复数 read+imag*1j,或者将一个字符串或数转换为复数。

delattr(object,name)

删除对象object的name属性。

dict()

返回一个字典。

>>> dict({1:"1",2:"2"})
{1: '1', 2: '2'}

dir([object])

无参数时,返回当前局部作用域中的属性;有参数时,返回参数对象的有效属性。

divmod(a,b)

返回a除以b的商和余数的元组。

>>> divmod(10,3)
(3, 1)

enumerate(sequence,start=0)

返回可迭代对象sequence的(count,value)元组序列,其中count从start开始递增。

>>> seq = ['a','b','c']
>>> list(enumerate(seq))
[(0, 'a'), (1, 'b'), (2, 'c')]

filter(function,iterable)

对可迭代对象iterable中的每个元素调用function函数,返回结果序列。

>>> def f(x): return x % 2 == 0
>>> filter(f,range(10))
[0, 2, 4, 6, 8]

float([x])

返回x对应的浮点数。

frozenset([iterable])

返回一个不可变的集合对象。

getattr(object,name[,default])

返回对象object的name属性对于的值,若name属性不存在,则返回default。

globals()

返回全局符号表字典。

hasattr(object,name)

判断对象object是否包含属性name。

hash(object)

返回对象object的哈希值。

>>> hash("123")
1911471187

help([object])

返回帮助信息。

hex(x)

返回正数x的十六进制字符串表示。

>>> hex(10)
'0xa'

id(object)

返回对象object的唯一标识,通常是object在内存中的地址。

input([prompt])

读取输入值。

int()

返回一个整数。

isinstance(object,classinfo)

判断object是否是classinfo的一个实例,或者是其子类的实例。

issubclass(object,classinfo)

判断object是否是classinfo的子类。

len(s)

返回s的长度。

>>> s = "abcde"
>>> len(s)
5

list([iterable])

返回一个列表。

locals()

返回当前局部符号表字典。

long(x)

返回一个长整形数。

map(function,iterable,...)

应用function到每一个元素上,返回结果列表。

>>> def cube(x): return x*x*x
>>> map(cube,range(10))
[0, 1, 8, 27, 64, 125, 216, 343, 512, 729]

max()

返回最大值。

memoryview(object)

返回对象object的内存视图。

min()

返回最小值。

next(iterable[,default])

返回迭代器的下一个元素。

oct(x)

返回x的八进制表示字符串。

>>> oct(10)
'012'

open(name[, mode[, buffering]])

打开一个文件,返回文件对象。

ord(c)

返回字符c对应的整数。

>>> ord('a')
97

pow(x, y[, z])

如果z存在,返回x^y % z,否则返回x^y。

>>> pow(2,3)
8
>>> pow(2,3,6)
2

print(*objects, sep=' ', end='\n', file=sys.stdout)

打印到file指定的输出位置,默认为标准输出。

range(stop)

返回从0到stop-1的列表。

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

raw_input([prompt])

读取一行输入。

reduce(function, iterable[, initializer])

对iterable中的值从左到右顺序迭代调用function,若initializer存在,则将其作为初始值。

>>> def add(x,y): return x+y
>>> reduce(add,range(10),0)
45

reload(module)

重新导入模块module。

repr(object)

返回对象object的可打印字符串表示。

reversed(seq)

返回seq的反向迭代器。

>>> list(reversed([1,2,3,4,5,6]))
[6, 5, 4, 3, 2, 1]

round(number[, ndigits])

将number舍入到小数点后ndigits位,默认为0。

set([iterable])

返回一个集合对象。

setattr(object, name, value)

设置object的name属性值为value。

sorted(iterable[, cmp[, key[, reverse]]])

返回iterable排好序的列表。

>>> sorted([3,4,2,1])
[1, 2, 3, 4]

staticmethod(function)

根据function返回静态方法,常用作静态函数装饰器。

class Test(object): 
@staticmethod 
def f(arg1, arg2, ...):
 ...

str(object=' ')

返回object的字符串表示。

sum(iterable[, start])

对可迭代对象iterable求和,初始值为start,默认为0。

super(type[, object-or-type])

返回一个代理对象,将相应的函数调用代理给该对象的基类。

tuple([iterable])

返回一个元组。

type(object)

返回object对象的类型。

zip(*iterables)

返回一个元组列表,其中第i个元组包含每个序列中第i个元素。

>>> x = [1,2,3]
>>> y = ['a','b','c']
>>> zip(x,y)
[(1, 'a'), (2, 'b'), (3, 'c')]