Python Scope

Ang variable ay magiging magagamit lamang sa lugar na nilikha. Ito ay tinatawag na sakop.

Lokal na sakop

Ang ginawang variable sa loob ng function ay pag-aari ng lokal na sakop ng function, at puwedeng gamitin lamang sa loob ng function na iyon.

Sample

Sa loob ng function, ang ginawang variable ay magiging magagamit sa loob ng function na iyon:

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

Run Instance

Function sa loob ng Function

Tulad ng nakita sa halimbawa, ang variable x ay hindi makukuha sa labas ng function, ngunit ay makukuha ng anumang function sa loob ng function:

Sample

Magiging makakakuha ng local variable mula sa function na nasa loob ng function:

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

Run Instance

Global Scope

Ang variable na nilikha sa pangunahing parte ng code ng Python ay global variable, na nasa global scope.

Ang global variable ay makukuha sa anumang scope (global at local).

Sample

Ang variable na nilikha sa labas ng function ay global variable, maaring gamitin ng sinumang tao:

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

Run Instance

Nagngangalang Variable

Kung ginagamit ang function na loob at labas ng function ang magkakasamang variable, ang Python ay magtuturing sila bilang dalawang magkakaibang variable, isa ay makukuha sa global scope (sa labas ng function), at isa ay makukuha sa local scope (sa loob ng function):

Sample

Ang function na ito ay magpiprint ng local variable x, at pagkatapos ay magpiprint din ang global variable x:

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

Run Instance

Global Keyword

Kung kailangan mong lumikha ng global variable ngunit nakulong sa local scope, magamit ang keyword na global.

Ang keyword na global ay gawing global ang variable.

Sample

Kung ginagamit ang keyword na global, ang variable ay nasa global scope:

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

Run Instance

Bilang karagdagan, gamitin din ang keyword na global kung nais mong baguhin ang global variable sa loob ng function.

Sample

Kung nais mong baguhin ang halaga ng global variable sa loob ng function, gamitin ang keyword na global para ipangalan ang variable:

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

Run Instance