【发布时间】:2017-09-17 18:45:21
【问题描述】:
在 Python 中,如何在调用同一个字典中引用的函数时取消引用字典的值?
对于(愚蠢的)示例:
def f1(x, y, z):
return (x+y)/z
player = {
'x' : 0,
'y' : 22,
'z' : -37,
'f' : f1(self.x, self.y, self.z)
}
我知道可以通过类来做到这一点。当然。但是,可以用字典做到这一点吗?
【问题讨论】:
-
你不能,因为在构造字典之前首先解析所有键和值表达式。因此,您不能在创建字典之前引用字典中的值。此外,大多数语言都有一些特殊的关键字,例如
this或self。 Python 没有。只是因为self被正确“注入”了元类。大多数人将__init__视为构造函数,但可以通过元类省略__init__。在构造__init__时,实例已经构造好了。 -
我不明白这个问题。我必须受审。
-
@JeanFrancoisFabre:SaraToo 想要在构造
'f'的值时获取与'x'键关联的值。
标签: python dictionary user-defined-functions elements