dketov
12/13/2011 - 2:25 PM

Область видимости

Область видимости

# -*- encoding: utf-8 -*-
"""
Доступ к глобальным переменным
"""

X = 88          # global X

def func():
    global X
    X = 99      # global X: outside def

func()
print X         # prints 99
# -*- encoding: utf-8 -*-
"""
Списки глобальных и локальных переменных
"""

def foo(arg): 
    x = 1 
    print locals()             
    locals()["x"] = 2          
    print "x=",x               

z = 7 
print "z=",z 
foo(3) 
globals()["z"] = 8             
print "z=",z      
# -*- encoding: utf-8 -*-
"""
Скрытие имён переменных
"""

X = 88          # global X

def func():
    X = 99      # local X: hides global

func()
print X         # prints 88: unchanged
# -*- encoding: utf-8 -*-
"""
Глобальные и локальные переменные
"""

# global scope
X = 99                # X and func assigned in module: global

def func(Y):          # Y and Z assigned in function: locals
    # local scope
    Z = X + Y         # X is not assigned, so it's a global
    return Z

func(1)               # func in module: result=100