Pythonic way for `return (value == 'ok') ? 'ok' : 'nok' `
Possible Duplicate:
Ternary conditional operator in Python
我有这个问题,也不知道要问谷歌:
(value == 'ok') ? 'ok' : 'not ok'
我指的是语法:
1
| (expression) ? (return if <expresion> is true) : (return this value if <expresion> is false |
- 作为注释,这被称为"三元运算符"。
- 为什么我得到"-1"?
- 在C语言中,这被称为"三元运算符",谷歌python ternary operator将指向您要去的地方。
- 看看这个问题。googling"python ternary operator"可以让您直接了解它。
- 我想,这次投票的人认为这是一个微不足道的答案,但事实上,如果你不知道要寻找的术语,很难找到。+ 1
- @正如我写的:我不知道如何向谷歌索要它。我不知道这个语法的名字
- @WBAR——就其价值而言,我赞成拿铁咖啡,我也不赞成投反对票……
- 返回True或False的方法可能更为惯用。
- 我是波兰语,所以我不知道每一个英语术语。我不知道它在我自己的语言中的名字:)(总是通过教程和逆向工程自学编程语言)
- 如果找不到东西,您可能还想退回一些东西或返回None。None是这方面的特殊对象。如果函数以return结束而没有任何参数,或者函数只是从主体中运行(没有return命令),则它对调用方的行为就像执行return None一样。
- 您可以搜索"python问号操作符",它将给出所需的结果。
易皮西:
1
| 'String ok' if value == 'ok' else 'String nok' |
它是一个条件表达式。
- 也伪装成三元表达。
- 尽管"条件表达式"是一个更好的名称。即使在C语言中,"三元运算符"也是一个相当愚蠢的名字;它就像是在叫+的"二元运算符"。
这个案子怎么样?
1
| {True: 'String ok', False: 'String nok'}[value == 'ok'] |
*别当真:)
- 这类似于在添加if else语法之前的老方法。但我以前看到它有一个tuple,因为bool将eval为0或1:('NOT OK', 'OK')[value=="ok"] 。
- @JDI,这仍然是流行的(加斯普)代码高尔夫练习