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