'int' Values are Objects

Q

Are "int" values objects in Python?

✍: FYIcenter.com

A

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

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

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

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

>>> int.__new__(int,1234)
1234
>>> int.__new__(int,"1234")
1234
>>> int("1234")
1234

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

>>> (1234).__add__(4321)
5555
>>> 1234 + 4321
5555

int.bit_length() - Instance method returning the number of bits used to store this integer. For example:

>>> (1234).bit_length()
11
>>> bin(1234)
'0b10011010010'

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

>>> dir(int)
['__abs__', '__add__', '__and__', '__bool__', '__ceil__', '__class__', 
'__delatt r__', '__dir__', '__divmod__', '__doc__', '__eq__', '__float__', 
'__floor__', '_ _floordiv__', '__format__', '__ge__', '__getattribute__', 
'__getnewargs__', '__g t__', '__hash__', '__index__', '__init__', 
'__init_subclass__', '__int__', '__in vert__', '__le__', '__lshift__', 
'__lt__', '__mod__', '__mul__', '__ne__', '__ne g__', '__new__', '__or__', 
'__pos__', '__pow__', '__radd__', '__rand__', '__rdiv mod__', '__reduce__', 
'__reduce_ex__', '__repr__', '__rfloordiv__', '__rlshift__ ', '__rmod__', 
'__rmul__', '__ror__', '__round__', '__rpow__', '__rrshift__', '_ _rshift__', 
'__rsub__', '__rtruediv__', '__rxor__', '__setattr__', '__sizeof__',  
'__str__', '__sub__', '__subclasshook__', '__truediv__', '__trunc__', 
'__xor__' , 'bit_length', 'conjugate', 'denominator', 'from_bytes', 'imag', 
'numerator', ' real', 'to_bytes']

 

Understanding Data Values as Objects

⇒⇒Python Tutorials

2017-09-12, 117👍, 0💬