【问题标题】:Shortest way in Python to set boolean to False if True, and set to True if FalsePython中将布尔值设置为假的最短方法,如果为真,则设置为真,如果假
【发布时间】:2020-10-07 07:16:20
【问题描述】:
def setBoolean(status):
    if status:
        status = False
    else:
        status = True

status = True
setBoolean(status)

我想要一个按钮单击以将变量设置为 False 如果为 True,如果为 False,则为 True,即与实际情况相反。如何用最短的代码做到这一点?

【问题讨论】:

  • setBoolean 对其论点的来源一无所知; setBoolean(x) 不会改变调用范围内x 的值。
  • 如果您正在寻找最快,您可能应该摆脱该功能。
  • 您真的在寻找“最快”的方式吗?
  • 最快,我的意思是最短的方式——我会在我的标题中说明这一点

标签: python python-3.x boolean


【解决方案1】:

你可以使用not作为

def setBoolean(status):
    status = not status

【讨论】:

    【解决方案2】:
    def setBoolean(status):
        return not status
    

    【讨论】:

    • 在我正在处理的代码中,需要更改的变量实际上是一个全局变量,需要通过单击按钮不断更改。为了找出如何反转布尔值本身,我简化了一些事情。
    【解决方案3】:

    试试

    status = True
    status = not status
    

    【讨论】:

    • 虽然此代码可以解决 OP 的问题,但最好包含关于您的代码如何解决 OP 问题的说明。这样,未来的访问者可以从您的帖子中学习,并将其应用到他们自己的代码中。 SO 不是编码服务,而是知识资源。此外,高质量、完整的答案更有可能获得支持。这些功能,以及所有帖子都是独立的要求,是 SO 作为一个平台的一些优势,使其与论坛区分开来。您可以编辑以添加其他信息和/或使用源文档补充您的解释。
    【解决方案4】:

    最短的路是

    status ^= True
    

    【讨论】:

      猜你喜欢
      • 1970-01-01
      • 2021-01-13
      • 2012-08-31
      • 2020-01-05
      • 2017-12-11
      • 2017-02-20
      • 2011-11-28
      • 1970-01-01
      相关资源
      最近更新 更多