Python的程序结构[2] -> 类/Class[3] -> 内建类与内建函数

内建类与内建函数的区分 / Distinction of Built-in Type and Function


对于 Python,有许多可以不需要定义或引用就可以使用的函数(类)(参考内建模块),诸如 abs, sum 等计算函数,以及 chr, bin, hex 等类型转换函数 (参考内建函数,还有一种,使用方式与函数极为类似,但却是 type 类型的内置类(非官方名称),例如 int,float 等。这些内置类实质上是一个用于生成类(实例)的类(参考元类的概念),通过传入的参数,返回一个类(实例)的对象返回值。

最直接的方式可通过 print 函数查看内建函数与内建类的区别。

Note: 此处基于 Python35 版本,以 map 为例,在 Python35 中,为 type 类型,而在 Python27 中,map 仍是内建函数类型。

1 builtin_func_list = [abs, round, pow, divmod, max, min, sum, ord, chr, bin, hex, oct]
2 builtin_type_list = [int, complex, float, str, type, bool, tuple, list, dict, slice]
3 
4 for f in builtin_func_list:
5     print(f)
6 for t in builtin_type_list:
7     print(t)

通过输出可以看出,内建函数属于 built-in function, 而内建类属于 class(type),两者有所不同。

<built-in function abs>
<built-in function round>
<built-in function pow>
<built-in function divmod>
<built-in function max>
<built-in function min>
<built-in function sum>
<built-in function ord>
<built-in function chr>
<built-in function bin>
<built-in function hex>
<built-in function oct>
<class 'int'>
<class 'complex'>
<class 'float'>
<class 'str'>
<class 'type'>
<class 'bool'>
<class 'tuple'>
<class 'list'>
<class 'dict'>
<class 'slice'>

相关阅读


1. 内建模块

2. 内建函数

原文地址:https://www.cnblogs.com/stacklike/p/8098406.html