码迷,mamicode.com
首页 > 编程语言 > 详细

python之globals()和locals()

时间:2015-04-26 13:56:52      阅读:253      评论:0      收藏:0      [点我收藏+]

标签:python   globals   locals   

global()返回全局作用域的属性字典, locals()返回局部作用域的属性字典.当locals()在模块顶层的位置时返回的值与global()相同.

实例

#!/usr/bin/python
#coding=utf-8
class Dog(object):
    x = 11
    y = 12

    def __init__(self):
        m = 44
        n = 33

    def eat(self):
        k = 11
        h = 22
        ‘‘‘
        打印 {‘h‘: 22, ‘k‘: 11, ‘self‘: <__main__.Dog object at 0x7fc2985b8e10>}
        ‘‘‘
        print locals()

def func():
    x = 1
    y = 2
    def wrap():
        pass
    ‘‘‘
    打印 func local is: {‘wrap‘: <function wrap at 0x7fc2985be938>, ‘y‘: 2, ‘x‘: 1}
    ‘‘‘
    print ‘func local is: %s‘ % locals()

x = 1
y = 2

func()

‘‘‘
两者都打印{‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__file__‘: ‘t.py‘, ‘Dog‘: <class ‘__main__.Dog‘>, ‘__package__‘: None, ‘func‘: <function func at 0x7fc2985be7d0>, ‘x‘: 1, ‘y‘: 2, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
‘‘‘
print ‘local is: %s‘ % locals()
print ‘globals is: %s‘ %globals()

dog = Dog()
dog.eat()

输出

func local is: {‘wrap‘: <function wrap at 0x7febea277938>, ‘y‘: 2, ‘x‘: 1}
local is: {‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__file__‘: ‘t.py‘, ‘Dog‘: <class ‘__main__.Dog‘>, ‘__package__‘: None, ‘func‘: <function func at 0x7febea2777d0>, ‘x‘: 1, ‘y‘: 2, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
globals is: {‘__builtins__‘: <module ‘__builtin__‘ (built-in)>, ‘__file__‘: ‘t.py‘, ‘Dog‘: <class ‘__main__.Dog‘>, ‘__package__‘: None, ‘func‘: <function func at 0x7febea2777d0>, ‘x‘: 1, ‘y‘: 2, ‘__name__‘: ‘__main__‘, ‘__doc__‘: None}
{‘h‘: 22, ‘k‘: 11, ‘self‘: <__main__.Dog object at 0x7febea271e10>}

python之globals()和locals()

标签:python   globals   locals   

原文地址:http://blog.csdn.net/csujiangyu/article/details/45287087

(0)
(0)
   
举报
评论 一句话评论(0
登录后才能评论!
© 2014 mamicode.com 版权所有  联系我们:gaon5@hotmail.com
迷上了代码!