티스토리 뷰
참과 거짓의 두가지 값 만을 가지는 타입으로 타입 이름은 bool 입니다. 파이썬에서는 True와 False라는(대소문자 주의) 특별한 값을 제공 합니다.
>>> 7 == 7
True
>>> 7 == 8
False
>>> a = 7==7
>>> type (a)
<type 'bool'>
>>> print a
True
■ 연관 연산자
bool 타입과 연관된 논리 연산자는 True 또는 False만을 리턴하며 그 내역은 아래와 같습니다.
==
양쪽이 같으면 True. ==와 =는 서로 다른 연산자로 = 하나는 대입 또는 치환을 의미하므로 주의 합니다.<, <=
우측 보다 작으면, 작거나 같으면 True>, >=
우측 보다 크면, 크거나 같으면 Truea<b<c
복합 조건으로 다른 언어에서는 and로 묶어서 처리해야 했으나, 파이썬에서 간편하게 기술하면서도 프로그램을 읽기 쉽도록 했습니다.>>> 1 < 3 <= 7
True
>>> 3 < 3 <= 7
False
>>> 1 < 3 <= 7 < 9
True
!=, <>
양쪽이 다르면 True. 다른 언어에서는 둘중에 한가지만 사용하지만 파이썬에서는 두가지를 모두 사용할 수 있습니다.>>> 1 != 3
True
>>> 1 != 1
False
>>> 1 <> 1
False
and
양쪽이 모두 True 이면 True.or
둘중에 하나라도 True 이면 Truenot
우측 bool 값을 반대로. True면 False. False면 Truea is b
a와 b가 같은 값이면 True를 리턴 합니다. 스칼라 타입은 값이 같다면 True이지만, 리스트의 경우에는 값이 같아 보여도 동일한 메모리를 참조하는 경우만 True 입니다.>>> a = 10
>>> a is 10
True
>>> a = 'aaa'
>>> a is 'aaa'
True
>>> a = (1,2,3)
>>> a is (1,2,3)
False
>>> b = a
>>> b
(1, 2, 3)
>>> b is a
True
■ 논리 연산자 사용팁
파이썬에서 논리 연산자를 사용할 때는 연산 대상이 bool 타입이어야 하지만 C언어에서 처럼 0이 아닌 값은 모두 True로 처리 합니다. 아래는 그 사용 예인데 스트링의 경우 널이("") 아닌 경우는 모두 True임을 확인할 수 있습니다. 파이썬에서 False 인경우를 나열하면 False, 0, None, '', "", (), [], {} 등이 있습니다. 이들은 모두 False로 처리 됩니다.
>>> if 0 : print "true"
else : print "false"
false
>>> if "0" : print "true"
else : print "false"
true
>>> if 1 : print "true"
else : print "false"
true
>>> if "" : print "true"
else : print "false"
false
단, and와 or 연산자가 항상 True와 False 값만 리턴하지는 않습니다. 좌측에서 우측으로 비교해 가는데 최종 비교 대상 값을 그대로 리턴 합니다. 예를 들어 a and b에서 a가 False로 판단되면 a값 그대로를 리턴 합니다. a or b에서 a가 True라면 b를 볼필요가 없으므로 a 값을 그대로 리턴한다.
이것을 문장에 응용한 예가 있는데 위의 예를 보면 a가 0인 상태로 나눗셈을 하면 "ZeroDivisionError"가 발생 합니다. 그런데 and 연산자 앞에 a가 0이 아닌지를 확인하는 코드를 삽입하면 a가 0일 때는 우측은 비교할 필요가 없으므로 나눗셈을 하지 않고 False를 리턴하는 것으로 더이상 진행하지 않습니다. a가 0이 아니라면 and 우측의 표현식인 나눗셈 결과를 그대로 리턴 하는 것입니다.
'프로그래밍' 카테고리의 다른 글
파이썬 사전(Dictionary) - 파이썬 배우기(Python) (0) | 2019.03.19 |
---|---|
파이썬 배열(Array) - 파이썬 배우기(Python) (0) | 2019.03.19 |
파이썬 스칼라 타입, 스트링(String) - 파이썬 배우기(Python) (0) | 2019.03.18 |
파이썬 스칼라 타입, 숫자(Numbers) - 파이썬 배우기(Python) (0) | 2019.03.18 |
파이썬의 변수와 데이터 타입 - 파이썬 배우기(Python) (0) | 2019.03.18 |
- 런타임 에러 76은 경로를 찾을수 없다는 메시지 이군요. 입력하신 경로를⋯
- Set folder = fso.GetFolder(sFolder) 에서 런⋯
- [승인대기]
- 표준 시간은 제주 올레 홈페이지를 참조하시는 것이 좋을듯 하네요. 이 포⋯
- 안녕하세요. 리뷰 감사해요 소요시간이 어떻게 되나요? 저도 가보려고요
- 제주 올레길 / 까미노 데 산티아고 길 을 가봤는데 아직 해파랑 남파⋯
- 아 오르세... 제 가 갔을땐 실내 촬영이 안됬는데 지금은 된다고 하지요⋯
- 법환 포구 빌라 자리엔 원래 각종 맛집들이 있엇는데 말이죠.. 싹 밀어서⋯
- 리눅스의 쉘 환경과 같은 준비를 해주는 것으로 이해하면 좋을듯 합니다. ⋯
- 안녕하세요.. 야라바님 초면에 갑작스럽겠지만 제 생명의 은인입니다. T⋯