Python'da global değişkenler kapsamını anlayın

Understand Global Variables Scope Python



Programlama dillerinin çoğunda iki tür değişken tanımlanabilir. Bunlar global değişkenler ve yerel değişkenlerdir. Fonksiyonun dışında tanımlanan değişkenlere global değişken denir. Bu değişkene komut dosyasındaki herhangi bir yerden erişilebilir ve değiştirilebilir. Fonksiyon içinde tanımlanan değişkene yerel değişken denir. Ancak aynı değişken adı global ve yerel değişkenler olarak mevcutsa, fonksiyonun içindeki değişken önceliği alacak ve global değişkenin değeri yok sayılacaktır. Python betiğindeki global değişkenin kapsamı bu öğreticide çeşitli örnekler kullanılarak gösterilmektedir.

Örnek-1: Global bir değişkenin basit kullanımı

Aşağıdaki örnek, global bir değişkenin fonksiyon içinde ve fonksiyonun dışında basit kullanımını göstermektedir. Burada, adında global bir değişken Metin bir dizi verisi atamak için kullanılır. adlı özel bir işlev yazdırMesaj() global değişkenin değerini yazdırmak için tanımlanmıştır. değeri Metin değişken, değeri değiştirdikten sonra işlevin içinde ve dışında yazdırılır.







#!/usr/bin/env python3

# Global bir değişken tanımlayın
Metin= 'LinuxHint'e Hoş Geldiniz'

# Bir fonksiyon tanımlayın
tanımprintMessage():

# Fonksiyondan global değişkeni yazdır
Yazdır('İşlev içindeki küresel değişken: ',Metin)

# Fonksiyonu çağır
printMessage()

# Global değişkenin değerini değiştirin
Metin= 'Python Programlamayı Öğrenin'

# Global değişkenin geçerli değerini yazdır
Yazdır('Global değişken dış fonksiyon: ',Metin)

Çıktı:



Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Değeri yazdırdı, ' LinuxHint'e hoş geldiniz' işlevi çağırmadan önce değişkene atanır. Ardından, değeri yazdırdı, 'Python Programlamayı Öğrenin' değişkenin değerini değiştirdikten sonra.







Örnek-2: Aynı isimli global ve yerel değişkenin kullanımı

Python'da daha önce global değişken olarak tanımlanmış bir fonksiyon içinde bir değişken ismi bildirmek ve değişkeni kullanmak istiyorsanız, değişkeni yerel bir değişken olarak ele alacak ve bir hata üretecektir. Aşağıdaki komut dosyası hatayı gösterecektir. Buraya, Metin değişken, global ve yerel bir değişken olarak tanımlanır.

#!/usr/bin/env python3

# Global bir değişken tanımlayın
Metin= 'Python'u seviyorum'

# Bir fonksiyon tanımlayın
tanımprintMessage():
Yazdır(Metin)

Metin= 'PHP'yi seviyorum'

# Fonksiyonu çağır
printMessage()

Çıktı:



Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Yukarıdaki durumdan kaçınmak için ve global bir değişkenle aynı ada sahip bir yerel değişken bildirmek istiyorsanız, önce yerel değişkeni işlevin içine atamanız gerekir. Aşağıdaki komut dosyası, yerel değişkendeki değişikliklerin global değişkende herhangi bir değişiklik yapmadığını göstermektedir. Metin değişken burada fonksiyonun içine ve dışına yazdırılır.

#!/usr/bin/env python3

# Global bir değişken tanımlayın
Metin= 'Python'u seviyorum'

# Bir fonksiyon tanımlayın
tanımprintMessage():
# Yerel değer tanımla
Metin= 'PHP'yi seviyorum'
# Yerel değişkeni yazdırın, metin
Yazdır(İşlev içindeki 'metnin' değeri: ',Metin)

# Fonksiyonu çağır
printMessage()

# Global değişkeni yazdırın, metin
Yazdır('Metin' dış fonksiyonun değeri: ',Metin)

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir.

Örnek-3: Fonksiyon içinde global değişken kullanımı

Önceki örnek, global değişkenin bir fonksiyon içinde erişilebilir olmadığını göstermektedir. Kullanabilirsiniz küresel herhangi bir fonksiyondan global bir değişkene erişmek için anahtar kelime. Aşağıdaki komut dosyasında, cal_percentage() fonksiyon, hem global hem de yerel değişkenlerin kullanıldığı herhangi bir sayının yüzdesini hesaplamak için tanımlanır. Buraya, birde global bir değişkendir ve perVal yerel bir değişkendir. küresel anahtar kelime burada fonksiyon içindeki global değişkeni tanımlamak için kullanılır ve global değişkenin değeri fonksiyon içinde değiştirilir.

#!/usr/bin/env python3

# Bir tamsayı değeri alın
birde= int(giriş('Bir sayı girin:'))

# Fonksiyonu tanımlayın
tanımcal_percentage():
# Global anahtar kelimeyi kullanarak global değişkeni tanıyın
küreselbirde

# Yüzde olarak bir tamsayı değeri alın
perVal= int(giriş('Yüzde değerini girin:'))

# Yüzde değerini hesapla
sonuç= batmadan yüzmek((*perVal olsun)/100)

# Biçimlendirilmiş sonucu yazdır
Yazdır('%d %d yüzdesi = %f'%(perVal,birde,sonuç))

# Global değişkenin değerini değiştirin
birde= 500

# Fonksiyonu çağırmadan önce global değişkenin değerini yazdırın
Yazdır(' Sayının değeri = %d'%birde)

# Fonksiyonu çağır
cal_percentage()

# Fonksiyonu çağırdıktan sonra global değişkenin değerini yazdırın
Yazdır(' Sayının değeri = %d'%birde)

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada 350'nin %10'u hesaplanır ve yazdırılır.

Örnek-4: Başka bir komut dosyasından global değişkenlerin kullanımı

Aşağıdaki örnek, bir komut dosyasında bildirilen global değişkenin başka bir komut dosyasında nasıl kullanılabileceğini gösterir. Diyelim ki dosya adı global6.py adlı dosyada tanımlanan global değişkenleri kullanacak global5.py . İçinde üç global değişken bildirildi global5.py . ithal etmek zorundasın küresel5 değişkenleri başka bir komut dosyasında kullanmak için. senaryosu global6.py girdi değerlerine ve global değişkenlere dayalı olarak üç tip çalışanın maaşını hesaplayacaktır.

#!/usr/bin/env python3
# bu global5.py dosyasıdır

# Bir şirketin temel maaş yapısı
Temel= 5000
Tıbbi= 500
Ulaşım= 500 #!/usr/bin/env python3
# bu global6.py dosyasıdır

# Global değişkenleri global5.py'den içe aktarın
içe aktarmakküresel5

# Çalışan adını al
isim= giriş('Çalışan adını girin:')
# Gönderi adını al
İleti= giriş('Gönderiyi girin:')

# Hata değişkenini başlat
hata= YANLIŞ

# Gönderiyi kontrol edin ve gönderiye göre temel maaşı ayarlayın
Eğer(İleti.üst() == 'CEO'):
temel=küresel5.Temel+(küresel5.Temel*0,4)
elif(İleti.üst() == 'YÖNETİCİ'):
temel=küresel5.Temel+(küresel5.Temel*0.25)
elif(İleti.üst() == 'MUHASEBECİ'):
temel=küresel5.Temel+(küresel5.Temel*0.15)
Başka:
# Gönderi değeri bulunamazsa hatayı true olarak ayarlayın
hata= NS

# Hata varsa maaşı yazdır
Eğer (hata== YANLIŞ):
aylık maaş=temel + küresel5.Tıbbi+ küresel5.Ulaşım
Yazdır('%s'nin maaşı %d'%(isim,aylık maaş))
Başka:
Yazdır('Yazı bulunamadı')

Çıktı:

Komut dosyasını çalıştırdıktan sonra aşağıdaki çıktı görünecektir. Burada betik, geçerli bir gönderi ve geçersiz bir gönderi ile iki kez çalıştırılır.

Çözüm:

Python'da global değişken kavramı, bu eğitimde yeni python kullanıcıları için çeşitli basit örneklerle açıklanmaktadır. Okuyucuların bu öğreticiyi okuduktan sonra yerel değişkenler kadar global değişkenler hakkında da doğru bilgiye sahip olacaklarını umuyorum.

Yazarın Videosunu İzle: Burada