[python] metorda str

Jirka Vejrazka jirka.vejrazka na gmail.com
Středa Listopad 3 10:59:54 CET 2010


> Dobrý den, mám tu následující kód, nevíte proč my hodí python na poslední
> řádek AttribueError? Pokouším se přepsat třídu  string ale nějak mi to
> nejede...
>
>> #! /usr/bin/python
>> # -*- coding: UTF-8 -*-
>>
>> class str(str):
>>     asx = "mlam mlam"
>>
>>
>> print str("asx").asx
>> print "axs".asx

  Ahoj,

  to je dobry hokej :)  Obvykle je dobrou tradici pojmenovat tu
"novou" tridu nejak jinak nez se jmenovala ta puvodni, ty se pokousis
o "hacknuti" pythonu :)

  Ale snad to pomuze tohle - mrkni se, jakeho typu jsou jednotlive instance:

>>> class str(str):
...     ax = 'ax'
...
>>> x = str('b')
>>> x
'b'
>>> type(x)
<class '__main__.str'>
>>> 'b'
'b'
>>> type('b')
<type 'str'>
>>>

  Jirka


Další informace o konferenci Python