what are the differences in example1, example 2 and example 3. i have tried but got nothing. i think i have missed something or haven't used correctly.
example 1:
def ex1(var1=g_var):
pass
def ex2():
global g_var
g_var = True
ex1()
if __name__ == '__main__':
ex2()
example 2:
def ex1():
print(g_var)
# pass
def ex2():
global g_var
g_var = True
ex1()
if __name__ == '__main__':
ex2()
example 3:
g_var = True
def ex1(var1=g_var):
pass
def ex2():
ex1()
if __name__ == '__main__':
ex2()
it seems that example 1 and example 3 are same thing.
example 2 and example 3 runs good. but example 1 give me the error NameError: global name 'g_var' is not defined.