【发布时间】:2011-01-25 01:43:49
【问题描述】:
为什么某些语言(如 PHP 和 Python)使用 dynamic name resolution?
我唯一一次想到使用它就是执行类似 Python 代码的操作,这样我就不必将参数显式地传递给 format:
"{a} {b} {c} {d}".format(**locals())
但要明确表达并不需要太多工作(并且不太容易出错):
"{a} {b} {c} {d}".format(a=a, b=b, c=c, d=d)
对于在同一范围内设置/获取本地人,我不明白为什么有人会使用它而不是地图。
如果没有动态名称解析,就会发现拼写错误,并且您可以自动重命名变量而不会破坏您的程序(除非某些东西仍然可以读取变量的名称)。使用动态名称解析,您可以省去输入一行的内容吗?我错过了什么吗?
Python 文档说他们将来可能会删除它。是不是更具有历史意义?动态名称解析的实际好用例是什么?
【问题讨论】:
标签: language-design