Skip to main content
 首页 » 编程设计

python之表达通过两个 'named' 值专门切换的变量的大多数 pythonic 方式

2025年05月04日12虾米哥

我有一个非常复杂的迭代,每次循环,我都需要一个“参数”来影响循环中完成的工作。基本上,我一直在做以下事情:

CLOSE_SIDE = 0 
FAR_SIDE = 1 
 
.... 
 
while (...): 
    if (side == CLOSE_SIDE): 
        .... 
    else if (side == FAR_SIDE): 
        .... 
 
    .... 
 
    side = FAR_SIDE if (side == CLOSE_SIDE) else CLOSE_SIDE 

我知道我可以只使用一个 bool 值,但我觉得这会降低我正在做的事情的可读性和明显性。我希望这两个州被“命名”。此外,作业虽然紧凑,但感觉非常笨重。并做一个完整的 if 语句:

if side == CLOSE_SIDE: 
    side = FAR_SIDE 
else if side == FAR_SIDE: 
    side = CLOSE_SIDE 

感觉同样笨重。

解决这个问题的最佳方法是什么?这更像是一个文体问题。想听听社区的一些意见

请您参考如下方法:

您可以为 bool 变量选择一个合适的名称,并在 True 和 False 之间切换,而不是命名这两个值:

while (...): 
    if far: 
        .... 
    else: 
        .... 
 
    .... 
 
    far = not far