什么是内建函数
在Python的手册中,名叫build-in Functions,中文可以称为内建函数。
内建函数就像dos系统的内部命令,他不依赖于外部模块,也就是说:
内建函数就是:安装好Python后就可以直接使用的函数,不需要import任何模块
内建函数列表
以Python2.7.5版本为例,其所有的内建函数如下表所示:
可以看到有80个左右的内建函数,下面挑选其中
经常被用到的一些接口加以说明
常用内建函数
bin
此函数用于将一个整形数据转换为二进制格式的字符串(形式为“0b1001001110”)
示例:bin(127)
结果:'0b1111111'
|
bool
此函数用于将一个对象转换为boolean类型数对象
示例:bool(1)
结果:True
|
bytearray
此函数将一个对象(列表,字符串,迭代)转换为字节数组
示例1:bytearray('abcdef', 'utf_8')
结果:bytearray(b'abcdef')
示例2:bytearray([96, 97, 98, 99])
结果:bytearray(b'`abc')
|
在操作文件或通信协议时,这个bytearray函数是非常有用的。
当参数是字符串是,需要指定字符串的编码格式,所有的编码名称请参考另一篇日志。
但参数是列表或迭代时,需要注意其元素的数值必须是0~255之间
chr
此函数将一个整数转换为字符,参数必须是0~255之间的整数
示例:chr(99)
结果:'c'
|
cmp
比较两个对象,相等返回0,不等则返回非0
示例:cmp('a',chr(97))
结果:0
|
eval
此函数用于执行python表达式
>>> x = 1
>>> print eval('x+1')
2
|
float
此函数将字符串或数字转换为浮点数类型
>>> float('1.01')
1.01
>>> float(1)
1.0
|
globals
此函数返回当前全局符号
>>> 'i' in globals()
True
|
hash
此函数计算对象的哈希值,可方便的用于不同类型的数值比较
>>> hash(1) == hash(1.0)
True
|
hex
此函数将数值对象转换为hex字符串
>>> hex(96)
'0x60'
|
isinstance
此函数判断对象是否为指定的类型
>>> a = 'hello'
>>> isinstance(a, str)
True
|
len
返回对象的长度,对象必须是列表,数组或迭代
>>> a = [1,2,3,4,5]
>>> len(a)
5
|
list
将对象拆散为列表,如将一个字符串拆散为一个一个字母组成的列表
>>> list('abcdefg')
['a', 'b', 'c', 'd', 'e', 'f', 'g']
|
locals
当前的本地符号列表
用法可参考globals
max
获取列表中的最大值
>>> max([100,200,102,103,80])
200
|
min
获取列表中的最小值
用法参考max
oct
此函数将整数转换为8进制字符串
>>> oct(0x80)
'0200'
|
open
此函数用于打开一个文件,返回一个file对象
f = open('c:\test.txt', 'wb') |
ord
此函数返回字符的实际数值,是chr的逆运算
>>> ord('r')
114
|
此函数用于打印字符串到文件中,默认为打印到控制台
>>> print('Hello world!')
Hello world!
|
range
此函数用于产生一个范围的列表,经常被用在for语句中
>>> a = 0
>>> for i in range(0,101):
a = a + i
>>> print a
5050
|
需注意,range产生数值是指定范围的前闭后开范围,即range(a, b) 产生的列表中的元素x的范围是: a<=x<b
raw_input
此函数用于从标准输入设备中读取输入内容
>>> x = raw_input('Input 1 number: ')
Input 1 number:
5
>>> print x
5
|
红色的5是用户手动输入的内容
reload
此函数用于重新加载之前已经被加载过的模块,这样可以不用退出程序但能使用已经更新的模块
import os
reload(os)
|
此功能可能被用在软件不间断版本更新的功能上
repr
此函数用于将对象转换为可打印字符串
>>> x = [1,2,3,4,5]
>>> y = repr(x)
>>> type(y)
<type 'str'>
>>> print y
[1, 2, 3, 4, 5]
|
str
此函数将对象转换为可以打印的字符串对象
>>> x = [1,2,3,4,'5']
>>> print(str(x))
[1, 2, 3, 4, '5']
|
sum
此函数将集合对象(如列表,迭代等)进行数值求和运算
>>> x = range(0,101)
>>> sum(x)
5050
|
tuple
此函数产生一个元组对象
>>> tuple('abcdef')
('a', 'b', 'c', 'd', 'e', 'f')
|
注意:元组(tuple)与列表(list)的区别在于元组生成后不可改,而列表可以随时增删元素
type
此函数返回对象的类型
>>> x = tuple('abcdef')
>>> type(x)
<type 'tuple'>
|
unichr
此函数类似
chr,由整数转换为对应的unicode字符
>>> unichr(97)
u'a'
|
xrange
此函数用法类似range,但产生的是一个xrange对象而不是一个列表
>>> range(0,5,1)
[0, 1, 2, 3, 4]
>>> xrange(0,5,1)
xrange(5)
|
相比与range每次都生成所有元素对象,xrange不会一次生成所有对象,它只在使用时产生对象,这样在数值范围较大时,可以有效减小内存使用
其他的内建函数本文不做详细讲解,需要使用时再参考python帮助文档吧