使用AND和OR进行Python分配

Nix*_*tel 1 python variable-assignment boolean-operations

我对python不太熟悉.我现在写的是从python中查看一个代码,它说的是这样的:

query = url.query and ('?' + url.query) or ''
Run Code Online (Sandbox Code Playgroud)

任何人都可以帮我理解这意味着什么.我发现了类似的东西.但我无法解释上述陈述.我想用Java转换这一行.

Dan*_*man 6

这是非常古老 - 而且非常不可靠 - 三元的语法if.在现代Python中它应该是:

query = '?' + url.query if url.query else ''
Run Code Online (Sandbox Code Playgroud)

在Java中:

query = url.query == '' ? '' : '?' + url.query
Run Code Online (Sandbox Code Playgroud)