What are the rules for local and global variables in Python?

Answer Posted / chaitanya

If a variable is defined outside function then it is implicitly global. If variable is assigned new value inside the function means it is local. If we want to make it global we need to explicitly define it as global. Variable referenced inside the function are implicit global. Following code snippet will explain further the difference

#!/usr/bin/python

# Filename: variable_localglobal.py

def fun1(a):

print 'a:', a

a= 33;

print 'local a: ', a

a = 100

fun1(a)

print 'a outside fun1:', a

def fun2():

global b

print 'b: ', b

b = 33

print 'global b:', b

b =100

fun2()

print 'b outside fun2', b

-------------------------------------------------------

Output

$ python variable_localglobal.py

a: 100

local a: 33

a outside fun1: 100

b :100

global b: 33

b outside fun2: 33

Is This Answer Correct ?    1 Yes 0 No



Post New Answer       View All Answers


Please Help Members By Posting Answers For Below Questions

Do we need to call the explicit methods to destroy the memory allocated in python?

955


How many name spaces are defined in python?

503


How do you convert a string to in python?

451


What are supporting python packages for data science operations?

447


What is python mapping?

462






Are methods and constructors the same thing?

468


Consider multiple inheritances here. Suppose class c inherits from classes a and b as class c(a,b). Classes a and b both have their own versions of method func(). If we call func() from an object of class c, which version gets invoked?

530


Do you know how memory is managed in python?

455


What is the purpose of “end” in python?

455


What is a metaclass in Python?

481


What is a numpy array?

450


What is orm in python?

465


Can I learn python in a month?

435


How do you sort a dataframe in descending order?

451


What is gui in python?

442