'float' Values are Objects

Q

Are "float" values objects in Python?

✍: FYIcenter.com

A

Yes, "float" values are objects in Python. In fact, all data values in Python are objects.

In Python, "float" is defined as an object class with the following interesting properties, constructors, and methods:

float.__doc__ - Property holding a short description of "float" objects.

float.__new__() - Constructor returning a "float" object. It can be invoked as float(). For example:

>>> float.__new__(float,3.14159)
3.14159
>>> float.__new__(float,"3.14159")
3.14159
>>> float("3.14159")
3.14159

float.__add__() - Instance method for the ADD operation. For example:

>>> (3.14159).__add__(2.14)
5.28159
>>> 3.14159 + 2.14
5.28159

bool.hax() - Instance method returning a hexadecimal representation of the floating number. For example:

>>> (3.14159).hex()
'0x1.921f9f01b866ep+1'
>>> (8.0).hex()
'0x1.0000000000000p+3'

You can use the dir(float) function to see all members of the "float" class:

>>> dir(float)
['__abs__', '__add__', '__bool__', '__class__', '__delattr__', '__dir__', 
'__div mod__', '__doc__', '__eq__', '__float__', '__floordiv__', 
'__format__', '__ge__' , '__getattribute__', '__getformat__', 
'__getnewargs__', '__gt__', '__hash__', ' __init__', '__init_subclass__', 
'__int__', '__le__', '__lt__', '__mod__', '__mul __', '__ne__', '__neg__', 
'__new__', '__pos__', '__pow__', '__radd__', '__rdivmo d__', '__reduce__', 
'__reduce_ex__', '__repr__', '__rfloordiv__', '__rmod__', '_ _rmul__', 
'__round__', '__rpow__', '__rsub__', '__rtruediv__', '__setattr__', '_ 
_setformat__', '__sizeof__', '__str__', '__sub__', '__subclasshook__', 
'__truedi v__', '__trunc__', 'as_integer_ratio', 'conjugate', 'fromhex', 
'hex', 'imag', 'i s_integer', 'real']

 

Understanding Data Values as Objects

⇒⇒Python Tutorials

2017-09-12, 116👍, 0💬