Python Scope

Anuwanan zai karewa dake dake karewa gina. Wannan na anuwanan yankin yankin funshonin dake.

Yankin yankin funshonin dake

Anuwanan da ke tassun dake kare a funshonin karewa karewa yankin yankin funshonin dake, kuma zai karewa dake dake funshonin dake karewa.

Mutu

Anuwanan da ke tassun dake kare a funshonin karewa zai funshonin dake karewa gina:

def myfunc():
  x = 100
  print(x)
myfunc()

Harci Mutu

Mutu dake kwarin mutu

Kamar yadda yake na hanyar shaidar yadda, wuri x a kwarin mutu na ba a iya amfani da ita ba, amma wuri na kwarin mutu na kwarin mutu za a iya amfani da ita:

Mutu

A ka iya samun wuri da ke kwarin mutu daga mutu dake kwarin mutu:

def myfunc():
  x = 100
  def myinnerfunc():
    print(x)
  myinnerfunc()
myfunc()

Harci Mutu

Wuri da ke kwarin mutu

Wuri da ke kwarin mutu a kwarin mutu na ayyuka shine wuri da ke kwarin mutu, kuma na da wuri da ke kwarin mutu.

Wuri da ke kwarin mutu za a iya amfani da ita a wuri da ke kwarin mutu (kai tsaye da kwarin mutu).

Mutu

Wuri da ke kwarin mutu a kwarin mutu na ayyuka shine wuri da ke kwarin mutu, kuma duk wani ya iya amfani da ita:

x = 100
def myfunc():
  print(x)
myfunc()
print(x)

Harci Mutu

Wuri da ke kwarin mutu

Idan ka amfani da wuri da sunan da yake kwarin mutu ne kai tsaye, Python za a kiyasta su da wuri da ke kwarin mutu (a kwarin mutu) da wuri da ke kwarin mutu (a kwarin mutu):

Mutu

Wannan mutu za a gudanar da wuri da ke kwarin mutu, kuma koda kuma zai gudanar da wuri da ke kwarin mutu:

x = 100
def myfunc():
  x = 200
  print(x)
myfunc()
print(x)

Harci Mutu

Kalmomin Global

Idan ka ba da shawara da kwarin wuri da ke kwarin mutu, ka amfani da kalmomin global.

Kalmomin global na sake wuri a wuri da ke kwarin mutu.

Mutu

Idan ka amfani da kalmomin global, wuri na da wuri da ke kwarin mutu:

def myfunc():
  global x
  x = 100
myfunc()
print(x)

Harci Mutu

Kamar yadda yake, don sake sabunta wuri da ke kwarin mutu, ka amfani da kalmomin global.

Mutu

Don sake sabunta wuri da ke kwarin mutu, ka amfani da kalmomin global don samun wuri:

x = 100
def myfunc():
  global x
  x = 200
myfunc()
print(x)

Harci Mutu