如何在Python中复制PHP的compact()和extract()功能?

Susan Sarandon
发布: 2024-10-25 19:44:02
原创
404 人浏览过

 How to Replicate PHP's compact() and extract() Functionality in Python?

PHP 的 Compact() 和 Extract() 在 Python 中的对应

PHP 的 Compact() 函数使用与指定符号表相对应的值组装一个哈希表名称,而 extract() 则相反这个过程。虽然 Python 提供了 locals()、globals() 和 vars(),但它缺乏用于隔离这些值的一部分的内置机制。

实现 Compact()

如果需要,您可以按如下方式实现compact()的Python等效项:

<code class="python">import inspect

def compact(*names):
    caller = inspect.stack()[1][0] # caller of compact()
    vars = {}
    for n in names:
        if n in caller.f_locals:
            vars[n] = caller.f_locals[n]
        elif n in caller.f_globals:
            vars[n] = caller.f_globals[n]
    return vars</code>
登录后复制

Python中的Extract()

尝试创建提取Python 中的 () 函数是不可取的。以前的 Python 解释器允许解决方法,但在现代版本中,它不再起作用。

Python 的视角

通常不鼓励使用compact()和extract() Python,因为它违背了 Python 的明确、简单和清晰的原则。然而,这些函数可能在调试、事后分析或动态变量创建方面有特定的应用。

以上是如何在Python中复制PHP的compact()和extract()功能?的详细内容。更多信息请关注PHP中文网其他相关文章!

来源:php.cn
本站声明
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
作者最新文章
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责声明 Sitemap
PHP中文网:公益在线PHP培训,帮助PHP学习者快速成长!