Kullanımı "genel" Python anahtar kelime
Belgeleri okuma python fonksiyonları için ayrı bir ad alanı vardır, ve eğer o fonksiyon içinde global bir değişken kullanmak istiyorsanız kullanmam gerekiyor bunun için ne anlıyorum"". küresel
Python 2.7 kullanıyorum ve bu küçük testi denedim
>>> sub = ['0', '0', '0', '0']
>>> def getJoin():
... return '.'.join(sub)
...
>>> getJoin()
'0.0.0.0'
Genel şeyler olmadan bile gayet iyi çalışıyor gibi görünüyor. Herhangi bir sorun olmadan global değişken girmeyi başardım.
Bir şey mi kaçırdım? Aşağıdaki python belgelerine de:
İsim küresel bir açıklamada listelenen resmi olarak tanımlanmış olmalıdır değil parametreleri veya döngü denetimi için bir yer hedef, sınıf tanımı, işlevi tanım veya ithal deyim.
Resmi parametreleri ve sınıf tanımı bana çay yapar iken, kısıtlama döngü kontrol hedef ve işlev tanımı için anlamak için güçlü değilim.
CEVAP
Anahtar global
genel değişkenler oluşturma nadiren iyi bir çözüm olarak görülse de ya da yerel bir bağlamda global değişkenler değişim yaratmak için sadece yararlıdır.
def bob():
me = "locally defined" # Defined only in local context
print me
bob()
print me # Asking for a global variable
Yukarıdaki verecektir:
locally defined
Traceback (most recent call last):
File "file.py", line 9, in <module>
print me
NameError: name 'me' is not defined
Eğer global
ifade kullanırsanız, değişken fonksiyon "kapsamında, etkili bir genel değişken. olma dışında mevcut olacak iken
def bob():
global me
me = "locally defined" # Defined locally but declared as global
print me
bob()
print me # Asking for a global variable
Yukarıdaki kod verecektir:
locally defined
locally defined
Python doğası gereği buna ek olarak, aynı zamanda global
yerel bir bağlamda fonksiyonlar, sınıflar veya diğer nesneleri bildirmek için kullanabilirsiniz. Eğer bir şey yanlış giderse, kabuslar sebep olduğu için bunu tavsiye etmem ya da hata ayıklama ihtiyacı olsa da.
Nasıl kullanılır "zam" Pytho...
Javascript "izin" vs " a...
Nasıl&; quot&; Anahtar Kelime çalışmas...
"__Blok " " anahtar kelime ne anl...
Nasıl "bu" JavaScript bir ne...