6장 선택
파이썬에서는 True와 False라는 불린(Boolean) 값(대문자로 시작하는 것을 주의)을 이용해 참과 거짓을 표현한다. 이러한 불린 값을 이용해 제어 흐름문의 사용 방법을 설명한다.
* 불린 연산자 : and, or, not
- 우선 순위 : not > and, or
- not : 단항 영산자로 사용하면 값을 반대로 바꿔준다.
+ 샘플
not False = True
not True = False
- and : 양쪽의 식이 모두 참일 때 참이다.
+ 샘플
True and True = True
True and False = False
False and True = False
False and False = False
- or : 양쪽의 식 중에 하나라도 참일 때 참이다.
+ 샘플
True and True = True
True and False = True
False and True = True
False and False = False
* 관계 연산자
- 설명 : 프로그램에서 불린 값을 만들기 위해서 관계 연산자를 이용한다. 관계 연산자를 이용한 비교를 통해 True,False 값을 만들고, 그것이 제어 흐름문(if, while)을 수행할지 말지를 판단하게 만든다.
- 연산자 : > , < , >= , <= , == , !=
- 우선순위 :
1) 산술 연산자(+, -, /, *)는 관계 연산자보다 우선순위가 높다.
2) 불린 연산자(not, or, and)는 관계 연산자보다 우선순위가 낮다.
=> (+, -, /, *) > 관계 연산자 > (not, or, and)
- 샘플
>> 1 > 2
False
>> 3 < 5
True
- 특징 : 여러 비교 수식을 연속해서 쓸 수 있다. 1 < x < 5와 같이 연속해서 사용 가능하다.
* 불린값
- 참과 거짓을 표현하는 값으로 True와 False를 이용한다.
- 연산자 별 반환값
1) 관계 연산자(<,>,<=,>=,==,!=) : True, False로 반환
2) 불린 연산자(not) : True, False로 반환
3) 불린 연산자(or, and) : 수식이 종료된 순간의 값을 반환
+ 샘플
>> not 1
False
>> 1 or 2
1
>> 2 and 0
0
>> '' and False
''
>> 'test' or True
'test'
+ 부가설명 : 특이한 점은 True/False를 반환하지 않고 연산이 끝난 값을 반환한다. 이러한 특징을 이용하면 특정 조건에서 값을 할당할 때 사용할 수 있지 않을까하는 생각이 든다.
- 특징 : 숫자
1) 수에서 불린값을 사용하면 True는 모든 수로 취급을 하며, False는 0과 0.0으로 취급 한다. 거꾸로도 사용된다.
+ 샘플
>> not 0
True
>> not 1
False
2) and와 or를 포함하는 수식은 왼쪽에서 오른쪽으로 평가한다. 또한 평가를 멈춰도 되면, 아직 평가하지 않은 피연산자가 있더라도 평가를 중단한다. 자바의 &&와 || 연산자와 똑같이 동작한다.
+ 샘플
>> 0 and 3
0
>> 3 and 0
0
>> 3 and 5
5
>> 1 or 0
1
>> 0 or 2
2
>> True or 0
True
- 특징 : 문자열
1) 문자열에서도 관계 연산자를 사용할 수 있다. 문자열의 문자는 정수로 표현하는데 이 값을 비교해 불린 값을 만든다.
+ 샘플
>> 'A' < 'a'
True
>> 'a' > 'z'
False
>> 'abc' < 'abz'
True
2) 빈 문자열은 False, 다른 모든 문자열은 True로 취급된다.
- 특징 : 산술 연산
1) True는 1, False는 0으로 취급되어 산술 연산이 가능하다.
+ 샘플
>> 1 + True
2
>> 3 - False
3
* if 문
- 설명 : 기본적인 조건문으로 블록을 들여쓰기를 통해 구분한다. elif와 else 키워드를 이용해 중첩 if문을 작성할 수 있다.
- 형식 :
if [조건] :
[if-블록]
elif [조건] :
[elif-블록]
else :
[else-블록]
+ [조건] : name != ""이나 x<y와 같은 수식. 꼭 불린 값을 필요는 없어서, 결과 값이 자동으로 불린값의 True, False로 자동 변환된다.
+ [블록] : 들여쓰기로 블록을 구분한다. 블록을 적고, 종료되면 빈 한줄을 추가해 if 문이 종료되었음을 표시한다.
'개발자 > Python' 카테고리의 다른 글
파이썬에서 Proxy 설정을 이용해 URL 열기 (0) | 2013.06.28 |
---|---|
개념을 잡아주는 프로그래밍 정석(Python) 책 정리 - 7장 반복 (0) | 2013.06.17 |
개념을 잡아주는 프로그래밍 정석(Python) 책 정리 - 5장 리스트 (0) | 2013.06.17 |
개념을 잡아주는 프로그래밍 정석(Python) 책 정리 - 4장 모듈 (0) | 2013.06.17 |
개념을 잡아주는 프로그래밍 정석(Python) 책 정리 - 3장 문자열 (0) | 2013.06.17 |