Christian Heimes a écrit :
> Dennis Lee Bieber wrote:
>>      What's wrong with just
>>
>>      str(0.3)
>>
>> that's what "print" invokes, whereas the interpreter prompt is using 
>>
>>      repr(0.3)
>>
> 
> No, print invokes the tp_print slot of the float type. Some core types
> have a special handler for print. The tp_print slot is not available
> from Python code and most people don't know about it. :]

???

[EMAIL PROTECTED]:~$ python
Python 2.5.1 (r251:54863, May  2 2007, 16:56:35)
[GCC 4.1.2 (Ubuntu 4.1.2-0ubuntu4)] on linux2
Type "help", "copyright", "credits" or "license" for more information.
 >>> class Toto(object):
...     def tp_print(self):
...             return "AHAHAHA"
...
 >>> t = Toto()
 >>> t
<__main__.Toto object at 0xb7db8d6c>
 >>> print t
<__main__.Toto object at 0xb7db8d6c>
 >>> (0.3).tp_print
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute 'tp_print'
 >>> (0.3).__print__
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute '__print__'
 >>> (0.3).__tp_print__
Traceback (most recent call last):
   File "<stdin>", line 1, in <module>
AttributeError: 'float' object has no attribute '__tp_print__'
 >>>

I Must have miss something...
-- 
http://mail.python.org/mailman/listinfo/python-list

Reply via email to