首頁  >  文章  >  後端開發  >  如何在Python中實作PHP的compact()和extract()函數?

如何在Python中實作PHP的compact()和extract()函數?

Barbara Streisand
Barbara Streisand原創
2024-10-27 04:31:29933瀏覽

 How to Achieve the Functionality of PHP's `compact()` and `extract()` in Python?

Python 相當於PHP 的compact() 和extract()

在PHP 中,compact() 和extract() 函數有實際用途分別用於建立哈希表和更新局部變數。 Python 提供了類似的功能,儘管它遵循不同的原則。

Python 的compact() 實作

雖然在Python 中不嚴格推薦,但可以實作compact()類別函數如下:

<code class="python">import inspect

def compact(*names):
    caller = inspect.stack()[1][0]
    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 對顯式變數賦值而不是動態更新局部變數的偏好。

替代方法

如果仍然需要 Compact() 或 extract() 之類的函數,考慮你的方法是否符合 Pythonic 的清晰和明確原則。直接存取變數或使用字典等資料結構等替代方案可能在 Python 中更合適。

以上是如何在Python中實作PHP的compact()和extract()函數?的詳細內容。更多資訊請關注PHP中文網其他相關文章!

陳述:
本文內容由網友自願投稿,版權歸原作者所有。本站不承擔相應的法律責任。如發現涉嫌抄襲或侵權的內容,請聯絡admin@php.cn