首页  >  文章  >  后端开发  >  如何在Python中复制PHP的compact()和extract()功能?

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

Susan Sarandon
Susan Sarandon原创
2024-10-25 19:44:02405浏览

 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中文网其他相关文章!

声明:
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn