PHP 的compact() 和extract() 的Python 類似物
在PHP 中,compact() 和extract() 是廣泛使用的函數,方便建立和提取具有指定值或變數的雜湊表。這引發了關於它們在 Python 中可用性的問題。
實作compact()
對於Python,compact() 的可能實作是:
<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>
實作extract()
雖然可以實現compact(),但在現代Python解釋器中提取值面臨挑戰。以前,可以使用:
<code class="python">def extract(vars): caller = inspect.stack()[1][0] # caller of extract() for n, v in vars.items(): caller.f_locals[n] = v # NEVER DO THIS - not guaranteed to work</code>
但是,這不再可靠地工作。
替代品
值得注意的是,這些函數可能會不被認為是 Python 中的良好實踐。它們違背了明確、簡單和可理解的原則。考慮替代方法,例如使用:
以上是以下是一些標題選項,可使用不同的問題樣式: 直接且專注: * PHP 的compact() 和extract() 的Python 等效項:如何實現類似的功能? * 更換的詳細內容。更多資訊請關注PHP中文網其他相關文章!