Mar*_*ers 39
一些比喻怎么样......
你有一个袜子抽屉,但它目前是空的.它是否包含任何黑色袜子?不 - 你根本没有任何袜子,所以你当然没有黑色袜子.显然any([])必须返回false - 如果返回true,这将是违反直觉的.
案件all([])稍微困难一些.请参阅Wikipedia关于空洞真相的文章.另一个类比:如果一个房间里没有人,那个房间里的每个人都会说法语.
数学all([])上可以写成:
集合A为空.
关于空洞陈述是否应该被认为是真的存在相当大的争论,但从逻辑的角度来看它是最有意义的:
所有真实真实陈述都是真实的主要论点如下:正如在关于逻辑条件的文章中所解释的那样,命题逻辑的公理要求如果P为假,则P => Q为真.也就是说,如果我们接受这些公理,我们必须接受真实的真实陈述.
同样来自文章:
似乎没有直接理由选择真实; 如果我们不这样做,那就是我们脸上的东西会爆炸.
定义一个"真实的"语句以在Python中返回false将违反最不惊讶的原则.
ken*_*ytm 20
一个属性any是它的递归定义
any([x,y,z,...]) == (x or any([y,z,...]))
Run Code Online (Sandbox Code Playgroud)
这意味着
x == any([x]) == (x or any([]))
Run Code Online (Sandbox Code Playgroud)
对于任何xif和only if any([])被定义为False ,该等式是正确的.类似的all.
我相信all([])==True通常难以掌握,所以这里有一些例子,我认为这种行为显然是正确的:
我认为它们是以这种方式实施的
def all(seq):
for item in seq:
if not item:
return False
return True
def any(seq):
for item in seq:
if item:
return True
return False
Run Code Online (Sandbox Code Playgroud)
虽然不确定它们是那样实现的
| 归档时间: |
|
| 查看次数: |
2374 次 |
| 最近记录: |