IT/Python

[Python] 부울 / 논리연산자

김반장님 2021. 3. 30. 13:56
반응형

1.1 부울  

부울은 참(true) 거짓(false)를 나타내는 자료형으로, 사용 가능한 값은 true와 false이다. 

  

[ 그림 1-1 ]

 

부울은 주로 값들의 논리연산이나, 수치 간의 비교 연산의 결과로 사용한다. 흔히 알고 있는 비교 연산자로 크다(>), 작다 (<), 다르다(!=) 같거나 크다(>=), 같거나 작다(<=) 가 있으며, 아래 처럼 사용한다. 

 

[ 그림 1-2 ]

 

또한 논리연산자로 사용되는 and(&), or(|), not 이 있다. 이에 대한 설명은 생략한다. 아래를 보자. 

  

[ 그림 1-3 ]

 

대소문자를 구분하니 주의하자. 문자열 역시 논리연산자로 비교 가능하다. 일단 보자 

 

[ 그림 1- 4 ]

 

[ 그림 1-4 ]와 같이 문자열도 논리연산다로 비교 가능하다. 대문자 'A'는 아스키코드로 65 이고 소문자 'a'는 97이다. 그렇기 때문에 결과값이 False가 나온 것이다. 두번째 같은 경우는 첫번째 문자끼리 비교하고 같은시 그 다음 문자 비교, 이렇게 해서 마지막 'b' 와 'a를 비교한 결과 값이다. 마지막 'aaa' 와 'aaaa' 는 당연히 더 길쪽이 크다고 판단하게 된다. 

논리연산자에서 주의해야 할 것이 있다. 논리식에서의 계산 순서는 결과가 알려지는 시점까지만 계산을 하고 최종 계산 시점의 객체를 리턴한다는 것이다. 일단 보자. 

 

[ 그림 1-5 ]

 

and 연산의 경우 모두 참이어야 하기 때문에 첫 번째 값이 거짓이라면 두 번째 값을 보지 않고 첫번째 값만 리턴을 하고, or 연산의 경우 하나의 값만 참이라면 무조건 참이기 때문에 바로 값을 리턴하는 것을 알 수 있다.(자세한 사항은 나중에 다시 포스팅 하겠다.) 

 

[ 그림 1-6 ]

 

논리연산자에서 사용하는 경우 0은 False로 간주하고 음수를 포함한 다른 값은 모두 True로 간주한다. 문자열 비교시에도 ''(빈문자열)만 False로 본다. 마찬가지로 값이 없는 상태인 None의 경우도 False로 간주한다. 

 

[ 그림 1-7 ]

 

반응형

'IT > Python' 카테고리의 다른 글

[Python] 얕은복사, 깊은복사  (0) 2021.03.31
[Python] 사전  (0) 2021.03.29
[Python] 튜플  (0) 2021.03.28
[Python] 세트  (0) 2021.03.27
[Python] 리스트  (0) 2021.03.26