[python] Nesrozumitelne prirazovaci prikazy zamichane mezi definice standalone funkci v modulu

radek py.cz na svarz.cz
Neděle Červenec 8 20:12:34 CEST 2007


> > Funguje to tak, ze dana funkce (tady index) se obali jinou,
>
> Takze se mohou obe stejne jmenovat? Jak se to jmeno pak resolvuje,
> kdyz jednou je to regulerni funkce, podruhy takovahle pythomost, kde
> je stejny jmeno na levy i pravy strane :-O A podle ceho se pozna, ze
> to neni obycejny konflikt jmen - podle toho, ze je vlevo i vpravo?

Ne, bude porad jedna. Tohle je naopak krasna vlastnost Pythonu - hodne
zjednodusene receno, s funkci se naklada jako s jakoukouli jinou
"promenou". Takze to, co muzes udelat pro x napr.:

x = x+1

Muzes udelat i s odkazem na definici funkce:

index = neco_udelam_s_funkci(index)

Schvalne muzes si vyzkouset:

In [2]: def a(pm):
   ...:     print pm
   ...:
   ...:

In [3]: a
Out[3]: <function a at 0x0155BD30>

In [4]: a(1)
1

In [5]: b=a

In [6]: b
Out[6]: <function a at 0x0155BD30>

In [7]: b(2)
2

Doufam, ze to je jasnejsi :)

> Uz jsem se tam prihlasila, i kdyz popravde receno, cim vice o Djangu vim,
> tim min se mi libi a po nedeli budeme rozhodovat, jestli v nem zkusime
> udelat novy projekt a nebo ho smazeme i s Pythonem z pocitacu ;-)

At uz se rozhodnete jakoli, zajimalo by me, co jste nasli na Djangu
negativniho...

Radek


Další informace o konferenci Python