e = ''
all(e), any(e)
둘 다 all(e), any(e)
False를 반환 할 것으로 예상했습니다 . 그러나 all(e)
True를 반환하고 any (e)는 False를 반환합니다.
어떻게 빈 문자열이 참과 거짓인지 이해할 수 없습니까?
로부터 파이썬 문서 :
all(iterable)
돌아
True
반복자의 모든 요소에 해당하는 경우 (또는 반복자는 비어있는 경우) . 다음과 동일 :def all(iterable): for element in iterable: if not element: return False return True
all()
문자열로 호출하면 마치 문자 목록 인 것처럼 문자열을 반복합니다. 예를 들어 all('foo')
는 all(['f', 'o', 'o'])
.
빈 문자열은 빈 목록과 같으므로 위의 굵게 표시된 부분이 적용됩니다. 빈 목록은 막연하게 사실입니다 .
수학과 논리에서 공허한 진리는 선행을 만족시킬 수 없기 때문에 사실 인 조건부 또는 보편적 진술입니다. 예를 들어, "방에있는 모든 휴대 전화가 꺼져 있습니다"라는 문구는 방에 휴대 전화가없는 경우에도 적용됩니다. 이 경우 "방에있는 모든 휴대 전화가 켜져 있습니다"라는 말도 "방에있는 모든 휴대 전화가 켜져 있고 꺼져 있습니다"라는 두 가지의 결합과 마찬가지로 막연하게 사실입니다. 그렇기 때문에 어떤 진술은 실제로 아무 말도하지 않기 때문에 뻔뻔스럽게 사실이라고하는 경우가 있습니다.
막연하게 진실 된 진술의 더 많은 예를 보려면 이 훌륭한 답변을 참조하십시오 .
이 기사는 인터넷에서 수집됩니다. 재 인쇄 할 때 출처를 알려주십시오.
침해가 발생한 경우 연락 주시기 바랍니다[email protected] 삭제
몇 마디 만하겠습니다