confused about the different built-in functions in Python

Christian Heimes christian at python.org
Mon May 26 15:47:24 EDT 2014


On 26.05.2014 21:00, Marko Rauhamaa wrote:
> Terry Reedy <tjreedy at udel.edu>:
> 
>> Part of the answer is Python's history. Up to about 2.1, most built-in
>> types did not have methods, though I know lists did. Ints and strings
>> did not, or chr and ord might have been int.chr() and str.ord(). (The
>> current string methods were originally functions in the string
>> module.)
> 
> Ints still aren't quite like regular objects. For example:
> 
>    >>> x = 500
>    >>> x.__str__ is x.__str__
>    False

Just like every other object:

>>> class Example(object): pass
...
>>> e = Example()
>>> e.__str__ is e.__str__
False

Python creates a new bound method object every time. A bound method
object is a callable object that keeps a strong reference to the
function, class and object. The bound method object adds the object as
first argument to the function (aka 'self').

Christian





More information about the Python-list mailing list