presne tak ako píše maskrtnik01. Už v tom prvom kóde máš dve referenčné premenné. Tu je pekne vidieť ako si programátor vo vyšších jazykoch nevie vôbec predstaviť čo sa v tom počítači deje.
napr že
´
v skutočnosti vyrobí referenčnú premennú s názvom
a ta má velkosť danú použitým CPU teda 32 alebo 64bit a obsahuje adresu nejakého kusu pamäte. A teraz kde a ako. Nuž to je dnes tak že sa zavolá konštruktor objektu List a ako parametre sa mu dá ten zoznam prvkov a on si zistí koľko tam tých prvkov je a čo sú zač. Nepoznám python, ale dajme tomu že sa v vypýta z OS kus pamäte a a to je ten objekt list. A potom vytvorí postupne zoznam objektov v tomto prípade čísel. To je všetko interná záležitosť toho objektu List. Ten si zapamätá koľko a kde a aké tie prvky sú. Teda celé to v pamäti zaberá kus ďalšej pamäte. Do premennej
a sa dá len adresa kde bol ten objekt list vytvorený.
A teraz ideš volať tú funkciu priemer. A tá má ako jeden parameter objekt pola. Už teraz vieme že je to v pamäti ten samotný objekt plus data. Tá funkcia sa nemôže odvolávať na nejakú konkrétnu adresu, lebo ju môžeš zavolať s x rôznymi poľami. A tak je tam zase len miestečko na referenciu na ľubovolné pole (objekt) a to si si zase nazval
a. Pri zavolaní funkcie sa len prekopíruje tá adresa z jedného
a ktoré vidí ten hlavný program do iného
a, ktorý vidí tá funkcia.
To že si tam potom pridal premennú
b nemá žiadny prínos. Iné by to bolo keby ako som spomínal to a bol nejaký komplikovaný objekt. Napríklad to bude excelovský súbor. A ty chceš spočítať priemer v nejakom riadku. Tak aby si nemusel vždy referencovať systémom workBook.worksheet("data").cell(1,0) ....
tak si vytvoríš referenčnú premennú wkSh=woorkBook.worksheet("data")
Teda zase len prekopíruješ odkaz na existujúci objekt do tvojej lokálnej premennej wkSh
a ušetril si pri každom cykle celú tú referenčnú reťaz ktorá samozrejme poriadne zdržuje. Pri jednom čísle to nespoznáš ale keď ich bude par miliónov tak to zbadáš a riadne. Lebo prechádzať zoznamy cez indexy je najhoršie čo len môže byť z pohľadu rýchlosti.
Ukáž múdremu chybu a on sa ti poďakuje. Ukáž chybu hlupákovi a on sa urazí.