2017-04-13 20 views
5

的基本上不是这样的:是否有可能改变当地人字典?

context1.a 
context1.b() 
context2.a 
context2.b() 

我想写:

with context1(): 
    a 
    b() 

with context2(): 
    a 
    b() 

理想我会切换出“当地人大辞典”与自定义__get__对象做到这一点,但我我不知道该怎么做,或者甚至有可能。

为什么?:我已经实现了一种谓词分派(为了好玩),但是我只能通过明确命名上下文来使用:context.a() + context.b()很烦人,总是写。

+5

我绝对认为你试图以最难的方式解决问题。为什么不能只是创建一个根据需要调用这些函数? –

+0

这应该是像Javascript的'与'?这在Javascript中甚至不是一个好主意;它被弃用,并严格禁止模式。 – user2357112

回答

0

不要这样做。仅仅因为图灵机可以做点什么并不意味着这是向人们传达你的意图的好方法。

只需坚持标准的语法,然后您的代码将清楚其他工程师。

with context1() as c: 
     c.a 
     c.b() 
相关问题