In logic, statements p and q are logically equivalent if they have the
same logical content. This is a semantic concept; two statements are
equivalent if they have the same truth value in every model (Mendelson
1979:56). The logical equivalence of p and q is sometimes expressed as
p \equiv q, Epq, or p \Leftrightarrow q. However, these symbols are
also used for material equivalence; the proper interpretation depends
on the context. Logical equivalence is different from material
equivalence, although the two concepts are closely related.
可能,但前提是
self.getData()
是一个纯函数且没有副作用。更重要的是,self.getData()
返回的对象也必须没有任何副作用,并且始终返回布尔值。在在最简单的情况下,如果
f()
定义为:然后是:
^{pr2}$在逻辑上等同于:
由于}(ly)值,两个表达式都将返回相同的结果。在
f()
在这两种情况下都被视为布尔表达式,f()
将计算为True
(ish)或{这叫做Logical Equivalence
它们将得到相同的结果,因为这两种方法都在布尔上下文中处理
self.getData()
的结果,但要注意:(一)
return self.getData() if self.getData() else ''
将运行函数
getData
两次,而(二)
return self.getData() or ''
只运行一次。如果
getData()
需要一段时间才能执行,这意味着1)与2)如果函数getData()
有任何副作用,那么这一点很重要。在坚持2)。在
我之所以说不,是因为如果
self.getData()
在其操作过程中发生了变化,那么第一个语句就有可能返回一个不同的结果,因为它将对它进行第二次调用。在相关问题 更多 >
编程相关推荐