21 / 59

Python Global Keyword

Global kalit so'zi bilan tanishish

Pythonda global kalit so'zi joriy ko'lamdan tashqaridagi o'zgaruvchini o'zgartirish imkonini beradi.

U global o'zgaruvchi yaratish va lokal kontekstda o'zgaruvchiga o'zgartirish kiritish uchun ishlatiladi.

global kalit so'zi haqida o'rganishdan oldin, Python Variable Scope mavzusining asoslarini bilib olganingizga ishonch hosil qiling.

Python global o'zgaruvchisiga murojaat qilish va uni o'zgartirish

Avval funksiya ichidan global o'zgaruvchiga murojaat qilib ko'ramiz,

example.py
c = 1 # global o'zgaruvchi

def add():
    print(c)

add()

# Natija: 1

Bu yerda, biz funksiya ichidan global o'zgaruvchiga muvaffaqiyatli murojaat qildik.

Biroq, agar funksiya ichidan global o'zgaruvchini o'zgartirishga urinsak:

example.py
# global o'zgaruvchi
c = 1 

def add():

     # c'ni 2 ga oshirish
    c = c + 2

    print(c)

add()

Natija

kod
UnboundLocalError: local variable 'c' referenced before assignment

Buning sababi, biz funksiya ichidan faqat global o'zgaruvchiga murojaat qila olamiz, lekin uni o'zgartira olmaymiz.

Buning yechimi — global kalit so'zidan foydalanish.

Misol: global yordamida funksiya ichidan global o'zgaruvchini o'zgartirish

example.py
# global o'zgaruvchi
c = 1 

def add():

    # global kalit so'zidan foydalanish
    global c

    # c'ni 2 ga oshirish
    c = c + 2 

    print(c)

add()

# Natija: 3 

Yuqoridagi misolda biz add() ichida cni global kalit so'zi sifatida belgiladik.

Keyin, biz c o'zgaruvchisini 2ga oshirdik, ya'ni c = c + 2.

Ko'rib turganimizdek, add() chaqirilganda, global c o'zgaruvchisining qiymati 1dan 3ga o'zgartirildi.

Global kalit so'zining qoidalari

Pythonda global kalit so'zi uchun asosiy qoidalar:

  • Funksiya ichida o'zgaruvchi yaratganimizda, u standart holatda lokal bo'ladi.
  • Funksiyadan tashqarida o'zgaruvchi belgilaganimizda, u standart holatda global bo'ladi. global kalit so'zini ishlatishingiz shart emas.
  • Funksiya ichida global o'zgaruvchini o'zgartirish (unga yozish) uchun global kalit so'zidan foydalanamiz.
  • global kalit so'zini funksiyadan tashqarida ishlatishning hech qanday ta'siri yo'q.

Ko'proq o'qing: Python Variables, Constants and Literals, Python globals()

QBilimingizni sinab ko'ring
1 / 3

1. Funksiya ichidan global o'zgaruvchining qiymatini o'qish mumkinmi, global deb e'lon qilmasdan?