Python中C++短格式“if”的等价写法
有没有办法把这段C/C++代码用Python写出来呢?
a = (b == true ? "123" : "456" )
4 个回答
21
我的神秘版本...
a = ['123', '456'][b == True]
25
虽然 a = 'foo' if True else 'bar'
是一种更现代的写法,用于三元条件语句(适用于 Python 2.5 及以上版本),但你可以用一种一对一的方式来写你的版本,可能是这样的:
a = (b == True and "123" or "456" )
... 在 Python 中可以简化为:
a = b is True and "123" or "456"
... 或者如果你只是想测试 b 的值是否为真...
a = b and "123" or "456"
? :
可以直接用 and or
来替代
255
在编程中,有时候我们需要让程序在特定的条件下执行某些操作。这就像给程序设定了一些规则,只有当这些规则被满足时,程序才会继续运行。
比如说,你可能想要在用户输入一个数字后,程序才开始计算。这样可以避免程序在没有必要的时候就开始工作,节省资源。
此外,程序还可以根据不同的输入做出不同的反应。就像你问一个人问题,他们会根据问题的内容给出不同的答案。
总之,设定条件可以让程序更加智能和高效,确保它只在合适的时机做出反应。
a = '123' if b else '456'