`
Ydoing
  • 浏览: 100512 次
  • 性别: Icon_minigender_1
  • 来自: 杭州
社区版块
存档分类
最新评论

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>}
<script type="text/javascript"> $(function () { $('pre.prettyprint code').each(function () { var lines = $(this).text().split('\n').length; var $numbering = $('<ul/>').addClass('pre-numbering').hide(); $(this).addClass('has-numbering').parent().append($numbering); for (i = 1; i <= lines; i++) { $numbering.append($('<li/>').text(i)); }; $numbering.fadeIn(1700); }); }); </script>

版权声明:本文为博主原创文章,未经博主允许不得转载。

分享到:
评论

相关推荐

    Python内置函数locals和globals对比

    主要介绍了Python内置函数locals和globals对比,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    Python 内置函数globals()和locals()对比详解

    主要介绍了Python globals()和locals()对比详解,文中通过示例代码介绍的非常详细,对大家的学习或者工作具有一定的参考学习价值,需要的朋友可以参考下

    python globals函数

    在前面我们讲解了python内置函数locals,内置函数locals直接以字典的形式返回当前位置的所有局部变量,今天需要介绍的是另外一个python内置函数globals,该函数直接以字典的形式返回当前位置的所有全局变量 ...

    Python基础教程之内置函数locals()和globals()用法分析

    本文实例讲述了Python基础教程之内置函数locals()和globals()用法。分享给大家供大家参考,具体如下: 1. 这两个函数主要提供,基于字典的访问局部变量和全局变量的方式。 python 使用叫做名字空间的东西来记录变量...

    Python两个内置函数 locals 和globals(学习笔记)

    主要介绍了Python两个内置函数 locals 和globals(学习笔记),需要的朋友可以参考下

    详解Python locals()的陷阱

    Python的命名空间通过一种字典的形式来体现, 而具体到函数也就是locals() 和 globals(), 分别对应着局部命名空间和全局命名空间. 于是, 我们也就能通过这些方法去实现我们”动态赋值”的需求. 例如: def test(): ...

    详解python eval函数的妙用

    globals和locals参数是可选的,如果提供了globals参数,那么它必须是dictionary类型;如果提供了locals参数,那么它可以是任意的map对象。 python的全局名字空间存储在一个叫globals()的dict对象中;局部名字空间...

    Python核心编程第二版

     1.4 下载和安装Python   1.5 运行Python   1.5.1 命令行上的交互式解释器   1.5.2 从命令行启动脚本   1.5.3 集成开发环境   1.5.4 其他的集成开发环境和执行环境   1.6 Python文档   1.7 ...

    python-web-pdb:适用于Python的PDB调试器的基于Web的远程UI

    Globals和Locals框显示当前作用域中的局部和全局变量。 排除以双下划线__开头和结尾的特殊变量(您始终可以使用PDB命令查看它们)。 Python 2的人类可读Unicode文字。 命令历史记录,最多可存储10个最后的唯一PDB...

    python 自动生成动态变量及应用

    object[, globals[, locals]]&#41; object:(必填)表示需要执行的Python代码 globals:(选填)表示全局命名空间 locals:(选填)表示当前局部命名空间 Example:生成10个变量 ['q_0', 'q_1', 'q_2', 'q_3', 'q_4'...

    Python核心编程第二版(ok)

     1.4 下载和安装Python   1.5 运行Python   1.5.1 命令行上的交互式解释器   1.5.2 从命令行启动脚本   1.5.3 集成开发环境   1.5.4 其他的集成开发环境和执行环境   1.6 Python文档   1.7 ...

    Python动态声明变量赋值代码实例

    、globals()和locals() # 通过exec&#40;&#41; for i in range(1, 4): # 第一次循环 i=1 时,会执行字符串中的python语句 ex1 = "exec1",以此类推 exec&#40;f'ex{i} = "exec{i}"'&#41; # 通过globals()和locals() ...

    Python核心编程(第二版).pdf (压缩包分2部分,第二部分)

     1.4 下载和安装python   1.5 运行python   1.5.1 命令行上的交互式解释器  . 1.5.2 从命令行启动脚本   1.5.3 集成开发环境   1.5.4 其他的集成开发环境和执行环境   1.6 python文档   1.7...

    跟老齐学Python之print详解

    eval&#40;&#41; 在print干事情之前,先看看这个东东。不是没有用,因为说不定某些时候要用到。 复制代码 代码如下: ... Evaluate the source in the context of globals and locals.  The source may be a st

    Python核心编程(第二版).pdf (压缩包分2部分,第一部分)

     1.4 下载和安装python   1.5 运行python   1.5.1 命令行上的交互式解释器  . 1.5.2 从命令行启动脚本   1.5.3 集成开发环境   1.5.4 其他的集成开发环境和执行环境   1.6 python文档   1.7...

    python基础2day05.txt

    globals() / locals() 函数变量 def 函数名(...): pass 函数可以作为参数传递 函数可以作为返回值返回 函数的嵌套定义 python 作用域 局部作用域 外部嵌套函数作用域 模块级的作用域(全局作用域) 内...

Global site tag (gtag.js) - Google Analytics