python有一些内建的函数,这些内建函数在编程时,我们可以直接使用不用导入任何模块最常见的就是print函数,下面是所有的内建函数的列表
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]]]) # 返回一个排序的列表
[1, 3, 4, 5, 6]
[6, 5, 4, 3, 1]
[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__ # 调用上面所函数的方法