免责声明:明智的语义确实表明,根据RHS词汇的行为不同,LHS是荒谬的。但我很好奇。
大家好,
简单的问题,但是一个人可能能够比我的黑客更好地回答。我目前正在处理元类等问题并为某些事情编写一个舒适的语法。
鉴于Python with ... as ...:
语句,我是否可以在上下文管理器中访问as
右侧给出的名称:
with foo('fido') as Dog:
...
可foo.__enter__()
找出Dog
所在的词汇吗?
超级奖励积分:保持实施不可知,支持Python 3.x.
答案 0 :(得分:1)
不,就像Dog = foo('fido')
中的那样,foo
没有“严肃”的方式,Dog
可以知道其结果即将被绑定到呼叫者中的{{1}}。 (通过“严重”我不排除在堆栈中翻找以找出调用字节码并将其拆解,& c - 基本上你知道如果你知道你的代码将由一个训练有素的维护者,知道你住在哪里; - )。