基本上不是这个:
context1.a
context1.b()
context2.a
context2.b()
我想写:
with context1():
a
b()
with context2():
a
b()
理想情况下,我会通过使用具有自定义 __get__
的对象切换“本地字典”来做到这一点,但我不知道该怎么做,也不知道它是否可能。
为什么?:我已经实现了一种谓词调度(为了好玩),但我每次只能通过显式命名上下文来使用:context.a() + context.b()
一直写很烦人。
最佳答案
不要那样做。仅仅因为图灵机可以做某事并不意味着这是向人们传达您的意图的好方法。
只需坚持标准语法,然后您的代码对其他工程师来说就会很清楚。
with context1() as c:
c.a
c.b()
关于python - 是否可以更改本地人的口述?,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/43391668/