Python 在三元条件运算符中使用 print() 函数?
Python use the print() function in a ternary conditional operator?
我不明白为什么会失败
print('Yes') if True else print('No')
File "<stdin>", line 1
print('Yes') if True else print('No')
^
SyntaxError: invalid syntax
print('Yes') if True == False else print('No')
File "<stdin>", line 1
print('Yes') if True == False else print('No')
^
SyntaxError: invalid syntax
但这确实有效
print('Yes') if True else True
Yes
print
函数是Python2中的特殊语句,所以不能用在三元运算符行的复杂表达式中。您的代码将在 Python 3.
中运行
因为在python2中,当你写:
print('Yes') if True else True
实际上是
print(('Yes') if True else True)
所以你可以这样写:
print('Yes') if True else ('No')
或者,更漂亮一点
print('Yes' if True else 'No')
表示只能对python2中print的"argument"进行三元运算。
我不明白为什么会失败
print('Yes') if True else print('No')
File "<stdin>", line 1
print('Yes') if True else print('No')
^
SyntaxError: invalid syntax
print('Yes') if True == False else print('No')
File "<stdin>", line 1
print('Yes') if True == False else print('No')
^
SyntaxError: invalid syntax
但这确实有效
print('Yes') if True else True
Yes
print
函数是Python2中的特殊语句,所以不能用在三元运算符行的复杂表达式中。您的代码将在 Python 3.
因为在python2中,当你写:
print('Yes') if True else True
实际上是
print(('Yes') if True else True)
所以你可以这样写:
print('Yes') if True else ('No')
或者,更漂亮一点
print('Yes' if True else 'No')
表示只能对python2中print的"argument"进行三元运算。