3.3 常用内置函数
高级语言中的函数类似于数学中的函数,都是用来完成某些运算符无法完成的运算。函数就是一段完成某个运算的代码的封装。Python中的函数分为内置函数、标准库函数和第三方库函数。丰富的库函数是Python区别于其他编程语言的主要特征,是快速问题求解和提高编程效率的主要工具。
3.3.1 内置函数概述
Python内置函数是指可以随着解释器的运行而自动载入的函数,这类函数可直接使用,不需要使用import语句导入,用来完成一些简单运算符无法实现的运算功能。
Python内置函数按字母顺序的列表如下。
Python丰富的内置函数可以实现数值、字符、集合、输入输出等对象的特定运算,本节只介绍其中几个常用的函数功能,其它函数会在后面的章节中继续介绍。
3.3.2 常用内置函数功能
常用内置函数的功能说明如表3.10所示。


3.3.3 内置函数应用实例
1.数值运算函数
abs(x)函数:返回一个x的绝对值,x参数可以是整型或浮点型数据。
divmod(a,b):返回由a / b的商和余数构成的一个元组,a、b可以是整型或浮点型。
pow(x, y[, z]):返回x的y次幂,如果有参数z则返回x的y次幂与z的模。
pow(x, y[, z])è pow(x, y) % z
pow(x, y)èx**y
round(x[, n]):对x进行四舍五入,n保留的小数位数,若缺省则只保留整数。
>>> print(abs(10),abs(-10))
10 10
>>> print(divmod(10,4),divmod(10.5,2.5))
(2, 2) (4.0, 0.5)
>>> print(pow(2,3),pow(2,3,4))
8 0
>>> print(round(3.1415926,3),round(3.1415926))
3.142 3
>>>
2.数制转换函数
int([x]):将十进制数值取整(截去小数部分)。
>>>int(3.14) # 3
>>>int(2e2) # 200
>>>int(100, 2) # 出错,base 被赋值后函数只接收字符串
int([x[, base]]):将“base”为进制的合法的整数字符串转换成十进制整数。
>>>int('23') # 23,默认为十进制数
>>>int('23',16) # 35,将'23'做为16进制数
>>>int('Pythontab',8) # 出错,'Pythontab'不是个8进制数
字符串 0x视作十六进制的符号,0b视作十六进制的符号:
>>>int('0x10', 16) # 16,0x是十六进制的符号
>>>int('0b10',2) #2 ,0b是二进制的符号
bin(x):将十进制整数转换成二进制的数字字符串。
oct(x):将十进制整数转换成八进制的数字字符串。
hex(x):将十进制整数转换成十六进制的数字字符串。
>>> b=255
>>> print(bin(b),hex(b),oct(b))
0b11111111 0xff 0o377
>>> a=0b10110011 #int()函数可以将2进数转换成10进制
>>> print(int(a))
179
>>> print(int('123', 16),int('123',8),int('123'))
291 83 123
>>>
3.类型转换函数
bool([x]):返回x布尔值。
>>> x,y=0,1
>>> print(bool(x),bool(y)) 0是False,1是True
False True
>>> print(bool('abc'),bool('')) #字符串为True,空串为False
True False
>>>
float([x]):返回一个浮点数。
>>> float('+1.23')
1.23
>>> float(' -12345\n')
-12345.0
>>> float('1e-003')
0.001
>>> float('+1E6')
1000000.0
>>> float('-Infinity')
-inf
ord():返回单个字符的ASCII码,返回值是一个整数。
chr(i):返回整数i对应的字符。与ord()函数互为反函数。
>>> x='A'
>>> y=97
>>> ord(x)
65
>>> chr(y)
'a'
>>> chr(ord(x))
'A'
>>>
eval (str[,globals[,locals]]):将字符串str当成有效的表达式来求值并返回计算结果。
>>> x = 1
>>> eval('x+1')
2
>>> a='5,10'
>>> x,y=eval(a)
>>> print(x,y)
5 10
>>>
4.集合运算函数
all()函数:元素均为True或元素为空时返回True。
any()函数:元素至少一个为True时返回True,元素为空时返回False。
>>> print(all([1,2,3]),all([0,1,2]),all([]))
True False True
>>> print(any([1,2,3]),any([0,1,2]),any([]))
True True False
>>>
max(iterable[,args...][key]):返回集合元素中的最大值。
min(iterable[,args...][key]):返回集合元素中的最小值。
>>> mylist=[5,9,98,20,126]
>>> print(max(mylist),min(mylist))
126 5
>>>
range([start],stop[, step]):产生一个序列,默认从0开始。
list([iterable]):产生一个列表。
tuple([iterable]):产生一个元组。
>>> x=range(1,10,2) #生成一个1<=x<10的序列,步长为2
>>> list(x) #由序列生成一个列表
[1, 3, 5, 7, 9]
>>> tuple(x) #由序列生成一个元组
(1, 3, 5, 7, 9)
>>>
5.帮助函数
help([object]):查看函数用法的详细信息。
>>> help(round) #查看round函数的使用说明
Help on built-in function round in module builtins:
round(...)
round(number[, ndigits]) ->number
Round a number to a givenprecision in decimal digits (default 0 digits).
This returns an int when calledwith one argument, otherwise the
same type as the number. ndigitsmay be negative.
>>>

