Python字符串中的if语句是什么意思?

我在外面学python时,题目的预留代码中,我有一个问题。
print("%s"%"a" if True else "b")
结果是a
我就没弄明白%后的if else语句到底是放在字符串的前面还是后面
我想要知道到底是怎么排序的

python的三目运算符 x = c if a else b
如果 aTrue 的话,输出 c,否则输出 b
print("%s"%"a" if True else "b") 这里 if 后面是 True 了,所以输出 "a"

可以参考这篇博客:https://blog.csdn.net/wosind/article/details/99163224

print("%s"%"a" if True else "b") 中

"a" if True else "b" 这一部分是三元或三目运算符,其基本格式为 结果1 if True else 结果2, 意思为如果真就得结果1,否则结果2
你的式子中三目运算符结果是"a" 然后就是 格式化 "%s" % "a" 结果就是a

可以理解为 "%s"% X
X是a和b的选择,true:a , flase:b