Lokalne spremenljivke

Kot smo videli že na podlagi nekaterih zgornjih primerov, lahko funkcija čisto normalno obdeluje spremenljivke iz glavnega bloka programa. Lahko pa poleg njih uporablja tudi svoje spremenljivke, ki obstajajo le znotraj klica funkcije, ko pa se klic konča, te spremenljivke izginejo in jih klicatelj ne vidi. Takim spremenljivkam pravimo lokalne spremenljivke, tistim iz glavnega bloka programa pa globalne spremenljivke.

Izvedi Počisti



Zgornja funkcija Zmnozi uporablja globalno spremenljivko a, hkrati pa tudi definira in uporablja svojo lokalno spremenljivko produkt; slednje glavni del programa ne vidi.

Možno je celo, da obstajata hkrati tako lokalna kot globalna spremenljivka z enakim imenom. V tem primeru funkcija vidi le svojo lokalno spremenljivko, istoimenske globalne spremenljivke pa ne:


Izvedi Počisti



Kako vemo, ali stavek produkt = a * x (v funkciji Zmnozi) prireja globalni spremenljivki produkt ali ustvari lokalno spremenljivko z enakim imenom? V pythonu velja glede tega preprosto pravilo: če telo funkcije vsebuje kak stavek, ki neki spremenljivki nekaj prireja, bo funkcija imela lokalno spremenljivko s tem imenom.

Izvedi Počisti



Zgornji primer vrne napako. Na naslednji strani preberi, zakaj se to zgodi.