上面这个表格包含的有“内置函数”和“内置类型”,其中的内置类型可以作为函数使用,把其它类型的对象转变为该类型的对象。
通过ipython,我们可以查看表格中的是函数还是类型。比如:
我们可以通过type清楚的看到abs是一个builtin_function_or_method,即内置函数,而str和float是一个type,即内置类型。两者在使用上没有什么区别,官方文档中也是把内置类型当做内置函数介绍的。
我们把这些内置函数(类型)分成几类进行介绍。
一.数值型操作
1abs(x) 求绝对值
2.bin(x)。将一个整数转变为一个前缀为0b的二进制字符串。结果是一个合法的 Python 表达式。x不能是浮点数,否则会报错。
3.hex(x)
将整数转换为以“0x”为前缀的小写十六进制字符串。如果 x 不是 Python int 对象,则必须定义返回整数的 index() 方法。
4.oct(x)
将一个整数转变为一个前缀为“0o”的八进制字符串。结果是一个合法的 Python 表达式。如果 x 不是 Python 的 int 对象,那它需要定义 index() 方法返回一个整数。
5.chr(i) 返回 Unicode 码位为整数 i 的字符的字符串格式,这是 ord() 的逆函数
实参的合法范围是 0 到 1,114,111(16 进制表示是 0x10FFFF)。如果 i 超过这个范围,会触发 ValueError 异常。
6.ord©
对表示单个 Unicode 字符的字符串,返回代表它 Unicode 码点的整数。例如 ord(‘a’) 返回整数 97, ord(‘€’) (欧元符合)返回 8364 。这是 chr() 的逆函数。
7.divmod(a, b).它将两个(非复数)数字作为实参,并在执行整数除法时返回一对商和余数。对于混合操作数类型,适用双目算术运算符的规则。对于整数,结果和 (a // b, a % b) 一致。对于浮点数,结果是 (q, a % b) ,q 通常是 math.floor(a / b) 但可能会比 1 小。在任何情况下, q * b + a % b 和 a 基本相等;如果 a % b 非零,它的符号和 b 一样,并且 0 <= abs(a % b) < abs(b) 。
8.pow(x, y[, z])
返回 x 的 y 次幂;如果 z 存在,则对 z 取余(比直接 pow(x, y) % z 计算更高效)。两个参数形式的 pow(x, y) 等价于幂运算符: x**y。
9.round(number[, ndigits])
返回精确到小数点后ndigits精度的数。 如果省略ndigits或者为None,则返回其输入的最接近的整数。
对于支持round()的内置类型,值被舍入离前一位更近的一端(四舍六入); 如果距离两端相等(5)则保留到偶数一边。(例如,round(0.5)和round(-0.5)均为0,round(1.5)为2)。 任何整数值对ndigits(正数,零或负数)有效。如果省略ndigits或None,则返回值为整数。 否则返回值与number的类型相同。
对于一般的Python对象number,将代理舍入为number.round。
注释: round()对于浮点数的行为可能令人惊讶,比如,round(2.675, 2)得出2.67,而不是期望的2.68。这不是bug,这是因为大多数十进制小数不能准确表示为二进制的浮点数。
sum(iterable[, start])
从start开始由左到右累加可迭代的元素并返回总数。start默认为0. iterable的项通常是数字,起始值不允许是字符串。
对于某些用例,sum()有很好的替代方法。 连接字符串序列的首选快速方法是调用’’.join(sequence)。 要以扩展精度累加浮点值,就用math.fsum()。要拼接一系列可迭代对象就考虑使用itertools.chain()。
二、可迭代操作
all(): 如果iterable的所有元素都为真(或iterable为空)返回True;
any():如果iterable的任一个元素为真则返回True。如果iterable为空,则返回False。
enumerate(iterable, start=0):
返回一个枚举对象。iterable 必须是一个序列,或 iterator,或其他支持迭代的对象。 enumerate() 返回的迭代器的 next() 方法返回一个元组,里面包含一个计数值(从 start 开始,默认为 0)和通过迭代 iterable 获得的值。
filter(function, iterable):
用 iterable 中函数 function 返回真的那些元素,构建一个新的迭代器。iterable 可以是一个序列,一个支持迭代的容器,或一个迭代器。如果 function 是 None ,则会假设它是一个身份函数,即 iterable 中所有返回假的元素会被移除。
请注意, filter(function, iterable) 相当于一个生成器表达式,当 function 不是 None 的时候为 (item for item in iterable if function(item));function 是 None 的时候为 (item for item in iterable if item) 。
只有 function 返回 false 时才选取 iterable 中元素的补充函数。
map(function, iterable, …)
产生一个将 function 应用于迭代器中所有元素并返回结果的迭代器。如果传递了额外的 iterable 实参,function 必须接受相同个数的实参,并使用所有迭代器中并行获取的元素。当有多个迭代器时,最短的迭代器耗尽则整个迭代结束。
由于python的内置函数过多,我这里便不再一一列举,现提供两个比较完整的查阅网站。
http://www.runoob.com/python/python-built-in-functions.html
https://www.yuanrenxue.com/python/python-build-in-functions-1.html