Python 报表1和报表2之间有什么区别吗

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主体

报表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主体的地方,而第二种形式不能:

>>> 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