use*_*596 7 python if-statement
我需要做这样的事情:
if A
function(a)
elif B
function(b)
else
function(c)
Run Code Online (Sandbox Code Playgroud)
我在这里找到了更简单的版本:
function(a if A else c)
Run Code Online (Sandbox Code Playgroud)
有版本elif吗?就像是:
function(a if A b elif B else c)
Run Code Online (Sandbox Code Playgroud)
我该怎么写这个(如果存在的话)?上面的代码看起来不正确.
不,没有elif.链接ifs:
function(a if A else b if B else c)
Run Code Online (Sandbox Code Playgroud)
这相当于(优先级从左到右):
function(a if A else (b if B else c))
Run Code Online (Sandbox Code Playgroud)
显然,这可能会变得复杂(并且超过PEP8 80 char限制),EG:
move(N if direction == "N" else E if direction == "E" else S if direction == "S" else W)
Run Code Online (Sandbox Code Playgroud)
在这种情况下,较长的形式更好:
if direction == "N":
move(N)
elif direction == "E":
move(E)
elif direction == "S":
move(S)
else:
move(W)
Run Code Online (Sandbox Code Playgroud)
| 归档时间: |
|
| 查看次数: |
99 次 |
| 最近记录: |