连仕彤博客[Python笔记] locals() 函数

作用

locals() 函数会以字典类型返回当前位置的全部局部变量。对于函数, 方法, lambda 函式, 类, 以及实现了 __call__ 方法的类实例, 它都返回 True

语法

In [27]: locals()
<h2><strong>返回值</strong></h2>
 返回字典类型的局部变量。
<pre class="lang:python decode:true " >In [27]: locals()
Out[27]:
{'In': ['',
  u"get_ipython().magic(u'cls ')",
  u'def foo():\n    c = 1\n    def inner():\n        x += 1\n        return x\n    return foo',
  u'print foo',
  u'print foo()()',
  u'def foo():\n   c = 1\n   def inner():\n       c += 1\n       return c\n    return foo',
  u'def foo():\n   c = 1\n   def inner():\n       c += 1\n       return c\n    return inner',
  u'def foo():\n    c = 1\n    def inner():\n        c += 1\n        return c\n    return inner',
  u'print foo()()',
  u'print foo()',
  u'help()',
  u'c = 1',
  u'def foo():\n    global c\n    c = 1\n    def inner():\n        c += 1\n        return c\n    return inner',
  u'print foo()()',
  u'def foo():\n    global c\n    c = 1\n    def inner():\n        global c\n        c += 1\n        return c\n    return inner',
  u'print foo()()',
  u'print locals()',
  u'def a():\n    x =0\n    def b():\n        y = x +1 \n        print locals()\n        print x,y\n    return b',
....
In [30]: type(locals())
Out[30]: dict

示例

In [31]: def foo():
    ...:     z = 1
    ...:     return locals()
    ...:
 
In [32]: foo()
Out[32]: {'z': 1}

本文参与腾讯云自媒体分享计划,欢迎正在阅读的你也加入,一起分享。

发表于

我来说两句

0 条评论
登录 后参与评论

相关文章

来自专栏程序员互动联盟

【编程基础】数组和指针为什么不等价?

好多初学C语言的人都认为数组和指针是相等的,在C 语言中对数组和指针的困惑多数都来自这句话。说数组和指针“等价”不表示它们相同, 甚至也不能互换。它的意思是说数...

3688
来自专栏九彩拼盘的叨叨叨

学习前端 第5周 第3天

552
来自专栏C语言及其他语言

【编程经验】关于数组指针与指针数组的解释

啦啦啦啦,小编又来了呢,今天给大家讲讲数组指针与指针数组,依旧废话不多说,直接步入正题。 关于数组指针和 指针数组,相信狠很多同学对此疑惑过,今...

2615
来自专栏向治洪

Kotlin语法基础之运算符

运算符 计算机程序中最小的程序单位成为表达式,每个表达式都可以由两部分组成,即操作数和运算符。操作数可以是变量、常量、类、数组、方法等,甚至是其他表达式。而运算...

2045
来自专栏Ryan Miao

Java复习1-基本数据类型

double数值精度是float的两倍,绝大部分都应该采用double而不是float。

1166
来自专栏Python小屋

Python中lambda表达式的常见用法

非常抱歉,昨天发的代码中有一处小错误,已通过留言的方式进行了纠正,详情请见【详解Python列表推导式】 lambda表达式常用来声明匿名函数,即没有函数名字的...

2989
来自专栏java学习

面试题26(对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s)

对字母进行排序,如:s,a,g,d,b; 控制台输入 a b d g s import java.util.ArrayList; import java.uti...

3348
来自专栏Pythonista

Golang之fmt格式“占位符”

853
来自专栏有趣的Python

2-Java基础语法-常量与变量

_hello 合法; Void 合法(区分大小写,和void不一样); abc$123 合法; abc 123 非法(包含空格)

671
来自专栏Python专栏

写了这么多年的python,tuple竟然是可变的?

1112

扫码关注云+社区