Python 相當於PHP的compact()和extract()
在PHP中,compact()和extract()函數有實際用途分別用於建立哈希表和更新局部變數。 Python 提供了類似的功能,儘管它遵循不同的原則。
Python 的compact() 實作
雖然在Python 中不嚴格推薦,但可以實現compact()類似函數如下:
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
此函數內省呼叫者的局部和全域變量,以建立具有指定變數值的字典。
Python 提取功能的方法
以前,可以實現 extract() 的 Python 等效項,但不再支援此方法。這反映了 Python 對顯式變數賦值而不是動態更新局部變數的偏好。
替代方法
如果仍然需要 Compact() 或 extract() 類別函數,考慮你的方法是否符合 Pythonic 的清晰和明確原則。直接存取變數或使用字典等資料結構等替代方案可能在 Python 中更合適。
免責聲明: 提供的所有資源部分來自互聯網,如果有侵犯您的版權或其他權益,請說明詳細緣由並提供版權或權益證明然後發到郵箱:[email protected] 我們會在第一時間內為您處理。
Copyright© 2022 湘ICP备2022001581号-3