9.2. ലോക്കല് വാര്യബിളുകളും ഗ്ളോബല് വാര്യബിളുകളും
.ലോക്കല് വാര്യബിളുകളും ഗ്ളോബല് വാര്യബിളുകളും മനസ്സിലാക്കുവാന് വേണ്ടി നമുക്ക് രണ്ടുദാഹരണങ്ങള് നോക്കാം
#!/usr/bin/env python
def change(b):
a = 90
print a
a = 9
print "Before the function call ", a
print "inside change function",
change(a)
print "After the function call ", a
ഔട്ട്പുട്ട്
[kd@kdlappy book]$ ./local.py
Before the function call 9
inside change function 90
After the function call 9
ആദ്യം നമ്മള് 9 നെa ലേക്ക് സൂക്ഷിക്കുന്നു, അതിനുശേഷം change ഫങ്ഷന് വിളിക്കുന്നു,അതിന്റെയുളളില് നിന്നുകൊണ്ട് 90 നെ a ലേക്ക് സൂക്ഷിക്കുകയും a യെ പ്രിന്റു ചെയ്യുകയും ചെയ്യുന്നു.ഫങ്ഷന് വിളിച്ചതിനുശേഷം വീണ്ടും a യുടെ മൂല്യം നമ്മള് പ്രിന്റുചെയ്യുന്നു. ഫങ്ഷനുള്ളില് നമ്മള് a = 90 എന്നെഴുതുന്പോള്ത്തന്നെ a എന്ന ഒരു വേര്യബിള് നിര്മ്മിക്കപ്പെടുന്നു,ഇത് ഫങ്ഷനുളളില് മാത്രം ലഭ്യമാവുകയും ഫങ്ഷന് അവസാനിക്കുന്പോള് നശിപ്പിക്കപ്പെടുകയും ചെയ്യുന്നു.ഒരേ പേരില് തന്നെ a രണ്ട് വേര്യബിളുകള് ഉണ്ടാക്കപ്പെടുകയും അവ ഫങ്ഷനകത്തും പുറത്തും വ്യത്യസ്തമായി നിലനില്ക്കുകയും ചെയ്യുന്നു.
#!/usr/bin/env python
def chvariable ange(b):
global a
a = 90
print a
a = 9
print "Before the function call ", a
print "inside change function",
change(a)
print "After the function call ", a
Here by using global keyword we are telling that a is globally defined, so when we are changing a's value inside the function it is actually changing for the a outside of the function also.