Python基础 - 内建函数

什么是内建函数

在Python的手册中,名叫build-in Functions,中文可以称为内建函数。
内建函数就像dos系统的内部命令,他不依赖于外部模块,也就是说:
内建函数就是:安装好Python后就可以直接使用的函数,不需要import任何模块

内建函数列表

以Python2.7.5版本为例,其所有的内建函数如下表所示:
    Built-in Functions    
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() id() oct() sorted() intern()

可以看到有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

 此函数用于打印字符串到文件中,默认为打印到控制台
>>> 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帮助文档吧



你可能感兴趣的:(Python基础 - 内建函数)