有没有办法在Python的高级字符串格式"foo {}".格式(bar)中添加条件字符串?

hob*_*es3 2 python string

例如,我有一行这样的代码

if checked:
    checked_string = "check"
else:
    checked_string = "uncheck"

print "You can {} that step!".format(checked_string)
Run Code Online (Sandbox Code Playgroud)

这有什么捷径吗?我只是好奇而已.

Kar*_*tel 16

print "You can {} that step!".format('check' if checked else 'uncheck')
Run Code Online (Sandbox Code Playgroud)

  • 不知道为什么每个人都讨厌它......在克服习惯使用C/Java语法之后似乎非常合乎逻辑. (4认同)
  • @ hobbes3:那不是if-then.这是Python的(低音 - ackwards)三元运算符. (2认同)

Kev*_*n S 6

这可以通过 python 3.6+ 使用 f 字符串来处理

print(f"You can {'check' if checked else 'uncheck'} that step!")
Run Code Online (Sandbox Code Playgroud)


Ign*_*ams 5

checkmap = {True: 'check', False: 'uncheck'}
print "You can {} that step!".format(checkmap[bool(checked)]))
Run Code Online (Sandbox Code Playgroud)