[Python] bool 연산자와 조건문
Boolean이란 우리가 일상생활에서도 흔히 참 거짓을 나누어 사고를 하듯이 기계 역시 마찬가지의 사고를 가지고
기계어 즉 1과 0으로 나누어 계산을 하는 방식을 말한다.
지금까지 숫자, 문자등 여러 가지 모양의 자료형 타입을 알아보았는데 이 'bool' 역시 자료형에 속하지만
미리 언급한 참, 거짓 즉 두가지 데이터 상태로만 구성된 자료형이기 때문에 프로그래밍에서는 주로
조건문 혹은 반복문에 함께 사용된다.
예를 들어 특정한 조건안에 무수히 많은 반복을 하게 되는 연산이 있다면, 또 그걸 사람이 수행하게 된다면
거기에 들어가는 노동력과 시간은 무시할 수 없을 것이다.
하지만 이러한 반복 연산을 기계가 대신하게 된다면 우리는 대단히 큰 효율을 가질 수 있는데
바로 이런 큰 장점을 가지고 있기 때문에 머신러닝, 딥러닝을 공부해야 하는 이유가 된다.
그렇다면 bool 연산자는 어떤 조건을 가지고 있을 때 True, False를 출력하게 될까?
True 조건
- 문자열이 비어있지 않은 경우
- 0이 아닌 수 (정수뿐만 아니라 음수일 때도 True, 0일 때는 False)
- 원소가 존재하는 모든 타입의 자료형
- 비교 연산자가 참인 경우
True의 조건 중 마지막 '비교 연산자가 참인 경우'는 다시 말해,
대소 비교를 하여 '조건'에 맞을 경우 True를 출력한다는 의미를 가지는데 이때 우리는 bool 연산자와 조건문 if가
함께 쓰일 수밖에 없다는 것을 깨달을 것이다.
그렇다면 조건문이란 무엇이고 프로그래밍에서는 어떨 때 동작을 하게 될까?
조건문이란 말 그대로 조건과 맞거나 틀 리거 나를 판별 하여 참일 때의 동작과 거짓일 때의 동작을 구분시켜놓는것을 말한다.
#조건문 예시
버스 = ['자리','할머니']
if '빈자리' in 버스:
print('앉는다')
elif '할머니' in 버스:
print('자리를 양보한다')
else:
print('서서 간다')
자리를 양보한다
조건문을 간단하게 코드로 표현하면 위와 같은 형태를 가지게 된다.
if == 조건이 참일때 실행되는 코드 작성
elif == if 조건의 범위에서 벗어난 추가적인 조건
else == if, elif 모두 거짓일때 동작될 코드
모든 코드는 위에서 아래로 읽어 내려가기 때문에 if의 조건이 참이었다면 '앉는다'를 출력하게 된다.
이와 같은 조건문을 사용할 때도 지켜야 하는 규칙이 있으니 주의하도록 하자
- 콜론 ' : '을 꼭 붙여준다.
- 콜론 ' : ' 이 들어간 다음 줄은 들여 쓰기를 해준다.
조건부에 사용되는 연산자
조건부를 사용한다는 건 참 거짓을 나눈다는 것이고 이는 대소 비교와 연결된다.
이때 사용되는 비교, 논리 연산자들에 대해 알아보자
비교 연산자
비교 연산자 | 정의 |
x < y | x가 y보다 작다 |
x > y | x가 y보다 크다 |
x == y | x와 y가 같다 |
x != y | x와 y가 같지 않다 |
x >= y | x가 y보다 크거나 같다 |
x <= y | x가 y보다 작거나 같다 |
논리 연산자
논리 연산자 | 정의 |
x and y | 모두 참일 때만 참 |
x or y | 하나만 참이어도 참 |
not x | x와 반대 (참 - 거짓, 거짓 - 참) |
in과 not in
in | not in |
x in 리스트 | not x in 리스트 |
x in 튜플 | not x in 튜플 |
x in 문자열 | not x in 문자열 |