본문 바로가기
python/guide

python의 or 연산 특이점

by Falto 2021. 8. 12.
#include <stdio.h>

int main()
{
    if (1 || a) {
    printf("asdf");
    }
    return 0;
}

c언어는 저렇게 하면 a가 선언되지 않았다고 하면서 오류가 뜬다.

파이썬은 True or apple이라고 쓰면 apple이 정의되어있지 않아도 True이라고 해석한다.

물론 apple or True라고 쓰면 오류가 난다.

저런 식이면 장단점은 무엇이냐..

장점: 연산 속도가 빨라진다. True or 어쩌구면 무조건 참이니까 바로 그냥 냅다 참 반환해버리고 다음 단계로 넘어가면 된다. or 다음에 올게 엄청난 연산을 해야 하는 함숫값일 것을 상상해보면 저런 연산 방식은 파이썬 이용자에게 있어서 엄청난 축복이라 할 수 있을 듯.

단점: 오류를 바로 잡아내지 못한다. 사실 나는 apple을 정의한 적이 없다는 사실을 모르는데 어느날 갑자기 x or apple에서 x가 False가 되어버린다면.. 영문을 알 수 없는 오류 때문에 골머리를 앓을 것이다. apple이 아니라 함숫값이라면 더더욱 골치 아프겠지.

'python > guide' 카테고리의 다른 글

python의 set 주의점  (0) 2021.09.05
9. 파이썬 for문 (1)  (0) 2021.04.24
8. 파이썬 if문 (3)  (0) 2021.04.24
7. 파이썬 if문 (2)  (0) 2021.04.24
6. 파이썬 if문 (1)  (0) 2021.04.24

댓글