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