类型转换 [Python]
时间:2008-09-30 来源:lvDbing
大多数程序都要处理大量类型的信息。但有时,所有操作都针对一种类型进行。例如,一个字符串与另一个字符串相加(连接)所生成的还是一个字符串。但是,经常都需要将一种类型的数据转换或强制(coerce)为另一种类型。这可能发生在赋值和计算过程中。解析器知道怎么在内建类型之间执行特定的转换。程序员可调用恰当的Python函数,比如int或float,实现内建类型之间的强制转换。
但用户自定义类又该怎么办呢?解析器不知道怎么在用户定义类和内建类型之间转换。为此,程序员必须采用特殊的方法来覆盖相应的Python函数,从而指定此类转换应如何进行。例如,类可定义特殊方法__int__,令其对int(anObject)调用的行为进行重载,从而返回对象的一个整数表示。
强制(转换)方法
方法 | 说明 |
__coerce__ | 将两个值转换成相同类型 |
__complex__ | 将对象转换成复数类型 |
__float__ | 将对象转换成浮点数类型 |
__hex__ | 将对象转换成十六进制字符串类型 |
__int__ | 将对象转换成整数类型 |
__long__ | 将对象转换成长整数类型 |
__oct__ | 将对象转换成八进制字符串类型 |
__str__ | 将对象转换成字符串类型 |
相关阅读 更多 +