Негізгі программаға енгізілген айнымалылар ауқымды (ортақ) деп аталады. Оларды барлық ішкі бағдарламалар (процедуралар мен функциялар) пайдалана алады.
Процедураның немесе функцияның ішінде ғана қолданылатын айнымалылар жергілікті айнымалылар деп аталады. Оларға тек осы ішкі бағдарламаның ішінде қол жеткізуге болады, басқа ішкі бағдарламалар мен негізгі бағдарлама оларды көрмейді. Бұл әдіс инкапсуляция деп аталады (латын тілінен «капуланың ішінде»).
Жергілікті айнымалы тек процедура немесе функция шақырылғанда жасалады. Ішкі бағдарлама аяқталғаннан кейін барлық жергілікті айнымалылар жадтан жойылады.
Әрбір ішкі бағдарламадағы жергілікті айнымалы атаулары басқа ішкі бағдарламалардың жергілікті айнымалы атауларынан тәуелсіз таңдалуы мүмкін.
Ауқымды және жергілікті айнымалылар
def show(): print( s )
def showLocal(): s = 7 print( s)
def showGlobal(): global s
s = 7 print( s )
Процедура s мәнін шығарады. Іске қосылғаннан кейін транлятор алдымен аттас жергілікті айнымалыны іздейді - ол жоқ болса, Содан кейін ол ауқымды айнымалыны іздей бастайды: егер мұндай айнымалы бар болса, оның мәні экранда көрсетіледі, егер жоқ болса, қате туралы хабарлама көрсетіледі.
Ғаламдық айнымалы s болса да, бұл процедураның бірінші жолы жаңа жергілікті s айнымалысын жасайды және оның мәні (7) экранда көрсетіледі.
Бұл процедура s ауқымды айнымалысымен жұмыс істейді. Ол оған жаңа 7 мәнін тағайындайды (барлық басқа ішкі бағдарламалар мұны «көреді») және оны экранда көрсетеді.
Ауқымды айнымалыларға бағынбайтындай ішкі бағдарламаларды жазуға тырысу керек.