Python 使用 AND 和 OR 赋值

Python assignment with AND and OR

我对python不是很熟悉。我现在正在研究 python 中的一个代码,它说的是这样的:

query = url.query and ('?' + url.query) or ''

谁能帮我理解这是什么意思。 我发现了类似的东西 here。但我无法解释上述陈述。 我想在 Java 中转换此行。

三元 if 的语法非常古老且非常不可靠。在现代 Python 中应该是:

query = '?' + url.query if url.query else ''

在Java中:

query = url.query == '' ? '' : '?' + url.query