파이썬 all 내장함수 all("")시에 True 가 출력되는 이유
글쓴이: kdyapple98 / 작성시간: 토, 2017/03/04 - 11:08오후
str = ""
bool(str)
결과는 False 였습니다.
빈 문자열은 False라는 말인데...
all("")은 왜 True를 반환할까요??
분명 all 함수는 거짓이 하나라도 있으면 False를 반환하는데 말이죠...
현재 파이썬 3.6입니다.
Forums:
그렇게 정해졌기 때문이지요.
그렇게 정해졌기 때문이지요.
빈 문자열이 False인 이유는 https://docs.python.org/3/library/stdtypes.html#truth
all에 빈 문자열을 넘기면 True인 이유는 https://docs.python.org/3/library/functions.html#all
혼란스러워 보입니다만, 이는 all이 파라미터를 iterable로 보기 때문입니다.
빈 문자열 안에는 아무것도 없으니 "False가 하나도 없으므로" True라는 거죠.
혹시 논리학에 익숙하시다면 이해하시기 좀 편하시겠습니다만.
반면에 bool은 빈 문자열을 빈 문자열 그대로 보고 False라고 보는 것이고요.
댓글 달기