Python 报表1和报表2之间有什么区别吗
报表1:`Python 报表1和报表2之间有什么区别吗,python,Python,报表1:` self.__hours == 0 if self.__hours == 23 else self.__hours=+1 报表2: if self.__hours == 23 : self.__hours == 0 else : self.__hours += 1 只是样式还是其他方面的问题?一般来说,它们会提供等价的答案,并且可以互换 两种形式之间的一个明显区别是,三元形式可以用于表达式可以用作lambda主体
self.__hours == 0 if self.__hours == 23 else self.__hours=+1
报表2:
if self.__hours == 23 :
self.__hours == 0
else :
self.__hours += 1
只是样式还是其他方面的问题?一般来说,它们会提供等价的答案,并且可以互换 两种形式之间的一个明显区别是,三元形式可以用于表达式可以用作lambda主体的地方,而第二种形式不能:
>>> x = lambda y: 0 if y > 0 else -1
>>>
>>> x(1)
0
>>> x(-1)
-1
或
撇开语法错误不谈,这两个语句的精神大体上是相同的。第一个是a(也称为“三元表达式”) 您正在将
self.\uuuu hours
设置为某个值--0
或self.\uu hours+1
--具体取决于self.\uu hours
的当前值
相当于:
if self.__hours == 23:
self.__hours = 0
else:
self.__hours = self.__hours + 1
(
self.\uuuu小时=self.\uu小时+1
也可以替换为self.\uu小时+=1
)你的意思是self.\uu hours=0
?区别在于#1会引发语法错误。正确的语法是variable=value1 if condition else value2
而不是variable==value1 if condition else statement 1
self.__hours = 0 if self.__hours == 23 else self.__hours + 1
if self.__hours == 23:
self.__hours = 0
else:
self.__hours = self.__hours + 1