<br><br><div class="gmail_quote">2008/6/7 Filip Štědronský &lt;<a href="mailto:regnarg@seznam.cz">regnarg@seznam.cz</a>&gt;:<br><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d">On Pá, čen 06, 2008 at 07:09:35 +0200, slush wrote:<br>
<br>
&gt; &nbsp;&gt;&gt;&gt; class str(str):<br>
&gt; ... &nbsp; &nbsp; def zzzmojefce(self):<br>
&gt; ... &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; &nbsp; return &quot;blabla&quot;<br>
&gt; ...<br>
&gt; &gt;&gt;&gt; str().zzzmojefce()<br>
&gt; &#39;blabla&#39;<br>
&gt; &gt;&gt;&gt; &quot;xxx&quot;.zzzmojefce()<br>
&gt; Traceback (most recent call last):<br>
&gt; &nbsp; File &quot;&lt;stdin&gt;&quot;, line 1, in &lt;module&gt;<br>
&gt; AttributeError: &#39;str&#39; object has no attribute &#39;zzzmojefce&#39;</div></blockquote><div>&nbsp;</div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;">
<div class="Ih2E3d"><br>
</div>Konkrétní problém, který ukazujete, ve skutečnosti<br>
problémem není. String je opravdovým objektem jako každý<br>
jiný, rovnocenný jakýmkoliv jiným, není to žádná emulace.<br>
Jenže Váš kód NEUPRAVUJE třídu str (takové šílenosti jdou<br>
asi jen v Ruby), ale definuje novou třídu, která je<br>
odvozená od str a shodou náhod se jmenuje také str, a tu<br>
vloží do aktuálního lokálního namespace.</blockquote><div><br>No vidite, a prave tohle prijde nelogicke zase mne. Pokud predefinuji tridu str, cekal bych, ze dalsi instance teto tridy bude pouzivat moji customizaci.<br><br>
Nerikam,ze je takove chovani prakticke, kazdopadne priklad, ktery jsem pred par dny konstruoval mel ukazat, ze ona &quot;jednotnost pristupu&quot; plati, ale jen do urcite miry. Pak se zacnete ucit ruzne speciality pythonu, tj. proc se to chova tak a ne jinak - stejne, jako v kteremkoliv jinem jazyce, napriklad v Jave (Groovy).<br>
<br></div><blockquote class="gmail_quote" style="border-left: 1px solid rgb(204, 204, 204); margin: 0pt 0pt 0pt 0.8ex; padding-left: 1ex;"><br>
Jenže Python když narazí na úvozovky neprohledává lokální<br>
namespace, jestli tam náhodou není něco, co se jmenuje<br>
str a co by mohl použít, což by ani nešlo, protože</blockquote><div><br>Polozme si otazku &quot;a proc ne?&quot;...<br><br>Nechci strilet do pythonu - mam ho rad. Jen nemam rad prilis nekriticke nazory a naopak shazovani &quot;konkurence&quot;.<br>
</div><br>Marek<br><br></div><br>