84669 person learning
152542 person learning
20005 person learning
5487 person learning
7821 person learning
359900 person learning
3350 person learning
180660 person learning
48569 person learning
18603 person learning
40936 person learning
1549 person learning
1183 person learning
32909 person learning
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程序员喜欢用各种hack来实现?表达式,所以python在语法上提供了这种形式
这是Python中的三元表达式
head+sum(tail) if tail else head
是一个整体比如
a if a > b else b
等价于max(a, b)
等价于(a>b)?a:b
这是python的语法糖,因为早期的python程序员喜欢用各种hack来实现?表达式,所以python在语法上提供了这种形式
这是Python中的三元表达式