首頁  >  文章  >  後端開發  >  如何在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