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은 이 형식을 구문적으로 제공합니다.
파이썬의 삼항 표현식입니다
전체입니다head+sum(tail) if tail else head
는예를 들어
과 동일합니다.a if a > b else b
은max(a, b)
과 동일하며 이는(a>b)?a:b
이것은 Python의 구문적 설탕입니다. 초기 Python 프로그래머는 ? 표현식을 구현하기 위해 다양한 해킹을 사용하는 것을 좋아했기 때문에 Python은 이 형식을 구문적으로 제공합니다.
파이썬의 삼항 표현식입니다