
上QQ阅读APP看本书,新人免费读10天
设备和账号都新为新人
3.1.4 Python中的常用内建函数
本节介绍type()、isinstance()、str()和repr()内建函数。cmp()内建函数已经在Python3中被移除了。在Python2中,cmp()内建函数用于比较两个对象的大小,当第一个参数小于第二个参数时,返回一个负数;当第一个参数大于第二个参数时,返回一个正数。确切地说是返回第一个参数的ASCII码值与第二个参数的ASCII码值的差。
type()函数用于显示一个变量的类型,示例如下:

输出结果:

可见,type()函数可以将a到ee这5个变量的类型(从int到complex,还有自定义类“type”)全部显示出来。
isinstance()内建函数可以用于判断一个变量是否是给定的数据类型,示例如下:

输出结果:

当a与int比较时显示False,与float比较时显示True,说明a是一个浮点型的变量。我们还可以用isinstance()内建函数写出如下示例来判断一个变量的类型。

输出结果:

上述示例分别判断了a到d 4个变量的数据类型,str在Python里并不是一个默认的类型,而是一个方法。这里用到了两个for循环语句。
str()和repr()(或者是反引号“``”)内建函数可以方便地将对象转化为字符串内容,而不是一串ASCII码值。相比repr(),str()获得的字符串更具有可读性,而由repr()得到的字符串往往可以更好地还原成原来的样子。下面这个式子输出的一定是True,即a和eval(repr(a))是完全等价的。
