美文网首页
42-python中类型转换

42-python中类型转换

作者: mingminy | 来源:发表于2017-12-22 13:50 被阅读0次

    Rational类实现了有理数运算,但是,如果要把结果转为intfloat怎么办?

    考察整数和浮点数的转换:

    >>> int(12.34)

    12

    >>> float(12)

    12.0

    如果要把Rational转为int,应该使用:

    r = Rational(12, 5)

    n = int(r)

    要让int()函数正常工作,只需要实现特殊方法__int__():

    class Rational(object):

    def __init__(self, p, q):

    self.p = p

    self.q = q

    def __int__(self):

    return self.p // self.q

    结果如下:

    >>> print int(Rational(7, 2))

    3

    >>> print int(Rational(1, 3))

    0

    同理,要让float()函数正常工作,只需要实现特殊方法__float__()

    相关文章

      网友评论

          本文标题:42-python中类型转换

          本文链接:https://www.haomeiwen.com/subject/dsgtgxtx.html