是否有可能改变当地人的字典?

问题描述 投票:5回答:1

基本上不是这样的:

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

我想写:

with context1():
    a
    b()

with context2():
    a
    b()

理想情况下,我会通过使用自定义__get__的对象切换“本地词典”来做到这一点,但我不知道如何做到这一点,或者甚至可能。

为什么?:我实现了一种谓词调度(为了好玩),但我只能通过每次显式命名上下文来使用:context.a() + context.b()一直都很难写。

python python-3.x dispatch
1个回答
1
投票

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

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

    with context1() as c:
        c.a
        c.b()
© www.soinside.com 2019 - 2024. All rights reserved.