반응형
다음은 assert의 네 가지 간단한 호출입니다.
>>> assert 1==2
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert 1==2, "hi"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError: hi
>>> assert(1==2)
Traceback (most recent call last):
File "<stdin>", line 1, in ?
AssertionError
>>> assert(1==2, "hi")
마지막 항목은 오류를 발생시키지 않습니다. 이 동작을 일으키는 괄호가 있거나없는 assert 호출의 차이점은 무엇입니까? 내 연습은 괄호를 사용하는 것이지만 위의 내용은 괄호를 사용하지 않아야 함을 시사합니다.
해결 방법
마지막 assert
는 IDLE을 통하지 않고 전체 인터프리터를 통해 실행했다면 경고 ( SyntaxWarning : assertion은 항상 true, 아마도 괄호를 제거 하시겠습니까?
)를 줄 것입니다. assert
는 키워드이고 함수가 아니기 때문에 실제로 튜플을 첫 번째 인수로 전달하고 두 번째 인수는 그대로 둡니다.
비어 있지 않은 튜플은 True
로 평가되고, 어설 션 메시지는 선택 사항이므로 assert (1 ==)를 작성할 때 기본적으로
. assert True
를 호출했습니다. 2, "hi")
참조 페이지 https://stackoverflow.com/questions/3112171
반응형
'파이썬' 카테고리의 다른 글
파이썬 조건부 인덱싱을 사용하여 셀에서 스칼라 값을 얻는 방법 (0) | 2020.11.22 |
---|---|
파이썬 How to fix Python ValueError:bad marshal data? (0) | 2020.11.22 |
파이썬 요청의 응답을 파일에 저장 (0) | 2020.11.22 |
파이썬 SOAP 클라이언트 테스트를위한 공개 무료 웹 서비스 (0) | 2020.11.22 |
파이썬 Windows에서 pip 설치 액세스가 거부되었습니다. (0) | 2020.11.22 |
댓글