Python'da yeniyim, bu muhtemelen basit bir kapsam sorusu. Bir Python dosyasındaki (modül) aşağıdaki kod beni biraz karıştırıyor:
if __name__ == '__main__':
x = 1
print x
Çalıştığım diğer dillerde, xdeğişken ifade için yerel olduğundan ifve bunun dışında olmamalıdır , bu kod bir istisna atar . Ancak bu kod yürütülür ve 1 yazdırılır. Herkes bu davranışı açıklayabilir mi? Bir modülde oluşturulan tüm değişkenler tüm modül için global / kullanılabilir mi?
ifdeyimi yukarıda tutmaz (yani gerçek__name__olduğunu değil'__main__'bunu üst düzey yürütme yerine modülü aldığınızda, örneğin), sonraxbağlanmış ve daha sonraki edilmiş aslaprint xbeyanı atarNameError: name 'x' is not defined.