티스토리 뷰
[compare]
값이나 변수들을 비교할 수 있는 연산자에 대해 알아보자
A > B
A가 B 보다 크다
A >= B
A 가 B 크거나 같다
A < B
A 가 B 보다 작다
A <= B
A 가 B 보다 작거나 같다
A == B
A 와 B 가 같다
A != B
A 와 B 가 다르다
비교 연산자를 이용한 논리가 참일 때는
결과가 True 가 되고
아닐때는 False 가 된다.
이것의 타입은 bool 과 같다.
[syntax]
n = 10
if n < 20:
print("condition is true")
조건문의 기본 문법은 위와 같다.
if 다음에 논리가 위치하고 : 이 다음에 위치한다.
여기서 논리식은 연산이 되서 True, False 둘중에 하나가 되고
True 이면 if 아래 들여쓰기 되있는 모든 코드를 실행한다.
if 다음에 논리식 대신에 bool 변수가 위치 할수도 있다.
[indent:들여쓰기]
print 부터 위에 대비해서 들여 쓰기가 되었다.
if 문이 들여쓰기가 없는 level 0 의 상태라면
그 아래는 들여쓰기가 한번 되있는 level 1 의 상태이다
바로 위 level 0 의 if 문에 종속적이고 포함된 상태이다.
[else]
n = 10
if n < 20:
print("condition is true")
else:
print("condition is false")
if 는 조건이 참(True) 일때 실행되는 코드를 들여쓰기안에 위치 시켰다.
else 문 아래 들여쓰기된 코드들은 if 조건이 거짓일때 실행된다.
if else 문에서는 해당 논리가 참/거짓일 때 각각 실행되므로
둘중에 하나만 반드시 실행된다.
두개다 실행되거나 둘다 안되거나 하는 경우는 존재하지 않는다.
[elif]
만약에 양수 음수 0 을 구분하는 조건문을 만들려면 어떻게 해야 될까?
n = 1
if n > 0:
print("+")
else:
if n == 0:
print("0")
else:
print("-")
if else 만으로는 위와 같이 할수가 있다.
들여쓰기도 level 2 까지 되어 있고 복잡도가 많이 올라가 있다.
n = 1
if n > 0:
print("+")
elif n == 0:
print("0")
else:
print("-")
else if 를 쓰지 말고 elif 를 써서 조건을 바로 명시해 주자
양수가 아닌것중에 0과 동일한것 이라는 조건이 된다.
마지막 else 는 위에 모든 조건일 아닐때 라는 뜻이 된다
이 경우도 3개중에 반드시 1개는 분기된다.
[bool]
age = 10
if age > 20:
print("adult")
else:
print("kids")
여기서 조건식을 bool 변수로 대체해 보자
age = 10
is_adult = age > 20
if is_adult:
print("adult")
else:
print("kids")
이렇게 논리를 미리 계산해서 bool 타입의 변수에 저장해 놓을 수 있다.
이러면 조건식이 복잡해 질때 전체 조건문이 어떤 기능을 하는지 쉽게 알아 볼수 있다.
그리고 조건별로 정리가 되는 장점도 있다.
[and, or]
조건식에 다중 조건을 한번에 위치 시키는 방법을 알아보자
a and b
a 조건 b 조건 모두 참일때 만 참이 된다.
하나라도 거짓이 있을 때는 거짓이다
a or b
둘중에 하나라도 참일때는 참이다
둘다 거짓일 때 만 거짓이다.
a, b 위치에는 논리식이 위치할 수도 있고
bool 타입 변수가 위치 할수도 있다.
논리식이 위치할 수 있는 모든곳에는 bool 변수가 위치할 수 있다.
a = 10 < 20
b = 0 < 1
if a and b:
print("true")
else:
print("false")
[performance]
if a and b and c:
print("true")
else:
print("false")
이럴때는 조건을 어떤 순서대로 위치 시켜야 하는가?
and 로 되어 있을때는 거짓일 가능성이 높은 조건을 앞에 배치한다.
and 로 이루어저 있으면 하나라도 거짓이면 뒤에 조건 여부에 상관없이
거짓이기 때문에 뒤에 조건을 검사하지 않는다.
or 인 경우에는 반대로 참일 가능성이 높은 조건을 앞에 배치 한다.
[3항연산자]
조건문을 한줄에 표현할 수 있다.
age = 30
state = "adult" if age > 20 else "kids"
if 앞에는 조건이 참일때 state 에 "adult" 가 대입되고
거짓일 때는 "kids" 가 대입된다.
'python lecture > basic' 카테고리의 다른 글
[edu] exception (try, except, raise, assert) (0) | 2019.02.01 |
---|---|
[edu] builtins (sort, sorted, len, map, zip, set, filter, sum, max, min, random) (0) | 2019.01.30 |
[edu] variable (변수) (0) | 2019.01.30 |
[edu] call of value, call of reference (주소 에 의한 호출, 값 에 의한 호출) (0) | 2019.01.30 |
[edu[ coroutine (코루틴) (0) | 2019.01.30 |
- Total
- Today
- Yesterday
- GIT
- gitlab
- admin.py
- 플러스친구 자동응답
- 장고
- 면접정답
- 파이썬 독학
- wsgi
- 파이썬 프로그래밍
- gitignore
- 문과 코딩
- django chatbot
- Tistory
- 이미지 비교
- 엑셀 비교
- Python
- chatbot
- 장고 카톡 자동응답
- virtualenv
- 모바일 스킨 적용
- 문서 비교
- django
- 모바일 테마 적용
- PuTTYGen
- pycrypto
- 파이썬 입문
- 장고 플러스친구 자동응답
- 파이썬 강좌
- 면접답변
- 파이썬
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | 4 | 5 | 6 | 7 |
8 | 9 | 10 | 11 | 12 | 13 | 14 |
15 | 16 | 17 | 18 | 19 | 20 | 21 |
22 | 23 | 24 | 25 | 26 | 27 | 28 |
29 | 30 | 31 |