Make object return float value python -


i can't think of similar in other language python can this...

what need following:

when referencing object's value, need object return float. eg:

    b = anyobject(3, 4)     print(b) #should output 0.75 

i have tried following:

 def __get__(self, instance, owner):     return float(self.param1/self.param2) 

but not work. when printing b this, object's reference:

<(...) object @ 0x10fa77e10> 

please help! thanks

you're seeing <fraction object @ 0xdeadbeef> because that's __str__ method of object class returns in python implementation: class name , address. make print work, need override __str__ method own code replace method inherited object. , while you're @ it, can make float(obj) work implementing __float__ method.

from __future__ import division  class fraction(object):      def __init__(self, num, den):         self.num, self.den = num, den      # built-in function float(obj) calls obj.__float__()     def __float__(self):         """float(self): return float approximating fraction."""         return self.num / self.den      # python 2.6/2.7/3.x print() function , python 2 print statement     # call str(obj), calls obj.__str__()     def __str__(self):         """str(self): return string representing fraction."""         return str(float(self)) 

Comments

Popular posts from this blog

python - mat is not a numerical tuple : openCV error -

c# - MSAA finds controls UI Automation doesn't -

wordpress - .htaccess: RewriteRule: bad flag delimiters -