这是如何实现的:在Python中使用backet实现if语句?

这是如何实现的:在Python中使用backet实现if语句?,python,if-statement,Python,If Statement,我看到了Python的这种用法,非常清晰,但我并不真正理解这种用法,也无法搜索任何有用的解释 这是正常的方法: if a < 0: b = 2 * a else: b = 3 * a 如果a

我看到了Python的这种用法,非常清晰,但我并不真正理解这种用法,也无法搜索任何有用的解释

  • 这是正常的方法:

    if a < 0:
        b = 2 * a
    else:
        b = 3 * a
    
    如果a<0:
    b=2*a
    其他:
    b=3*a
    
  • 这实现了同样的目的:

    b = a * (3,2) [a<0]
    

    b=a*(3,2)[a第二个选项仅用于打高尔夫球的目的。文档确实没有对这种语法做太多说明,但说明了“简单优于复杂”,以及“可读性很重要”。您应该使用第一个选项

    您还可以使用Python的三元运算符:

    b=a*(如果a<0,则为2,否则为3)
    
    第二个选项仅用于打高尔夫球。文档中并没有对这种语法做太多说明,但说明了“简单胜于复杂”,以及“可读性很重要”。您应该使用第一个选项

    您还可以使用Python的三元运算符:

    b=a*(如果a<0,则为2,否则为3)
    
    b=a*(3,2)[a
    b=a*(3,2)[agolfed更像
    b=a*(3-(agolfed更像
    b=a*(3-(ACA可以提供官方文件的地址吗?TK你的回答我怀疑是否有官方文件,这是关于如何结合你所知道的
    元组
    条件
    语句,这不是标准的方法,但它是其中一种方法,即使在某个地方有一个文件,它也只会引用关于
    的标准方法,如果else
    能给出官方文档的地址,你的答案是什么?我怀疑是否有关于这方面的官方文档,这都是关于组合你所知道的
    元组和
    条件语句,这不是做这件事的标准方法,但它是其中一种方法,即使有将是某个地方的文档,它只会引用标准方法的
    ,否则
    b = a*(2 if a < 0 else 3)
    
    In [33]: (3,2)[0]
    Out[33]: 3
    
    In [34]: (3,2)[1]
    Out[34]: 2
    
    In [35]: True == 1
    Out[35]: True
    
    In [36]: False == 0
    Out[36]: True