Python,With ... as ... AST /符号访问

问题描述:

声明:明智的语义确实规定,根据RHS的词位,LHS的行为是不同的。但我很奇怪。Python,With ... as ... AST /符号访问

嗨,大家好,

简单的问题,而是一个可以Somone的能够回答比我更好的破解。我目前正在弄乱元类等,并为一些事情制定出舒适的语法。

鉴于Python的with ... as ...:声明,我可以在上下文管理器访问的域名(或多个)上的as右侧给出什么:

with foo('fido') as Dog: 
    ... 

foo.__enter__()找出词位,其中Dog是什么?

超级奖金信用:保持它的实现不可知,也支持Python 3.x。

不,就像在Dog = foo('fido')中说的那样,foo可以知道其结果在调用者中将被绑定到名称Dog的“严重”方式。 (通过“严重”,我不在堆栈中查找调用字节码并将其拆分,& c - 基本上,如果您知道代码将由肌肉发达的维护者,他知道你住在哪里;-)。

+0

+1确实。感谢您的回复。我知道明智的代码也不应该考虑到词法;) – 2010-08-17 15:11:17