zoukankan      html  css  js  c++  java
  • python数学运算的类型转换

    类型转换
    Rational类实现了有理数运算,但是,如果要把结果转为 int 或 float 怎么办?
    
    考察整数和浮点数的转换:
    
    >>> 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__()。
    class Rational(object):
        def __init__(self, p, q):
            self.p = p
            self.q = q
    
        def __int__(self):
            return self.p // self.q
    
        def __float__(self):
            return float (self.p)/self.q
    
    print float(Rational(7, 2))
    print float(Rational(1, 3))

    注意:python的类型转换不是自动的,需要自己手动强制类型转换。

  • 相关阅读:
    python主要探索函数
    数据分析分析方法
    监控hadoop任务结果shell脚本
    shell编程
    hadoop介绍
    数据探索
    Python数据分析简介
    数据挖掘基础篇之整体思路
    sqlAlchemy
    python md5 加密
  • 原文地址:https://www.cnblogs.com/superxuezhazha/p/5793444.html
Copyright © 2011-2022 走看看