Python在print语句中使用问号?

时间:2013-12-09 03:52:33

标签: python

我正在尝试打印c如果> b,否则我想打印d。目前我正在使用if语句,但我想知道是否有办法使用问号来做到这一点,因为它太复杂了代码。我以前见过它,但找不到任何关于此的文档。

#Current code
c = 'xxxxx'
d = 'xxxxxx'
print 'I like pie ',
if a > b:
    print c,
else:
    print d,
print ' that\'s why you should too!'

1 个答案:

答案 0 :(得分:3)

我认为“问号”是指conditional operator a > b ? c : d。此语法来自非Python语言;在Python中,conditional expressions的等效语法使用英语关键字:

print (c if a > b else d),

(这里的括号并不是绝对必要的,如果你试图在Python 3中运行它,你需要小心,但它使代码更容易阅读。)