运算符优先级
idcter += 1 if (idcter <= maxid) else 0
由以下分组可视化
idcter += (1 if (idcter <= maxid) else 0)
也就是说你
增量
0
如果条件不成立。
把它和
idcter = idcter + 1 if (idcter <= maxid) else 0
# ==
idcter = (idcter + 1) if (idcter <= maxid) else 0
你在哪里
分配
零
结果
在同样的情况下。
顺便说一句,
10000
已经超过你的
maxid
属于
9999
. 实现这种重置增量的一种典型方法是使用模运算符。在您的情况下:
idcter = (idcter+1) % (maxid+1) # 9997 -> 9998 -> 9999 -> 0 -> 1