items=[1,2,3,4] def sum(items): head,*tail = items return head+sum(tail) if tail else head
上述代码中的if tail else head如何理解?为何if else 会有这种书写形式?
谢谢
业精于勤,荒于嬉;行成于思,毁于随。
head+sum(tail) if tail else head は全体の
head+sum(tail) if tail else head
たとえば、a if a > b else b は max(a, b) と同等であり、これは (a>b)?a:b
a if a > b else b
max(a, b)
(a>b)?a:b
これは Python の糖衣構文です。初期の Python プログラマーはさまざまなハックを使用して ? 式を実装することを好んでいたため、Python はこの形式を構文的に提供しています
これは Python の三項式です
ですhead+sum(tail) if tail else head
は全体のたとえば、
と同等です。a if a > b else b
はmax(a, b)
と同等であり、これは(a>b)?a:b
これは Python の糖衣構文です。初期の Python プログラマーはさまざまなハックを使用して ? 式を実装することを好んでいたため、Python はこの形式を構文的に提供しています
これは Python の三項式です