On 26.05.2014 21:00, Marko Rauhamaa wrote: > Terry Reedy <tjre...@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 -- https://mail.python.org/mailman/listinfo/python-list