1번째 줄: |
1번째 줄: |
| [[분류:기초]] | | [[분류:기초]] |
| + | |
| + | <youtube>https://www.youtube.com/watch?v=mg6dRfjc01w</youtube> |
| + | |
| + | ==개요== |
| + | 상황(조건)에 따라 실행 흐름을 다르게 만들기 위해 사용하는 전략. |
| + | |
| + | = for = |
| + | |
| + | ===형태=== |
| + | 조건의 끝은 ':' 로 구분한다.(쓰지 않으면 SyntaxError가 뜬다.) |
| + | |
| + | 다른 언어와는 달리 하위명령을 들여쓰기로 구분한다.(가독성과 간결함을 위해) 탭 1회 혹은 띄어쓰기 4번으로 구분하는 게 정석. |
| + | {| class="wikitable" |
| + | !형태 |
| + | !방법 |
| + | |- |
| + | |기본형식 |
| + | |<syntaxhighlight lang="python"> |
| + | if 조건: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | |- |
| + | |여러조건 |
| + | |<syntaxhighlight lang="python"> |
| + | if 조건1 and 조건2 or 조건3: |
| + | 명령 |
| + | </syntaxhighlight> |
| + | |- |
| + | |else |
| + | |<syntaxhighlight lang="python"> |
| + | if 조건: |
| + | 명령1 |
| + | else: |
| + | 명령2 |
| + | </syntaxhighlight> |
| + | |- |
| + | |한줄형태 |
| + | |명령1 if 조건 else 명령2 |
| + | |- |
| + | |case |
| + | |<syntaxhighlight lang="python"> |
| + | if 조건1: |
| + | 명령1 |
| + | elif 조건2: |
| + | 명령2 |
| + | </syntaxhighlight> |
| + | |- |
| + | |case2 |
| + | |<syntaxhighlight lang="python"> |
| + | if 조건1: |
| + | 명령1 |
| + | elif 조건2: |
| + | 명령2 |
| + | else: |
| + | 명령3 |
| + | </syntaxhighlight> |
| + | |}이외, 조건문 안에 또 다른 조건문을 넣는 등 다양한 활용이 가능하다. |
| + | |
| + | ==tip== |
| + | ===in, not in의 활용=== |
| + | 조건에 따라 True, False를 반환한다. |
| + | {| class="wikitable" |
| + | !확인 |
| + | !확인방법 |
| + | |- |
| + | |데이터가 자료구조 안에 포함되어 있는가? |
| + | |데이터 in 자료구조 |
| + | |- |
| + | |데이터가 자료구조 안에 포함되어 있지 않은가? |
| + | |데이터 not in 자료구조 |
| + | |} |
| + | |
| + | = match = |
| + | c에서 사용하는 case 문과 같다. |
| + | {| class="wikitable" |
| + | !형태 |
| + | !방법 |
| + | |- |
| + | |기본형식 |
| + | |<syntaxhighlight lang="python"> |
| + | if 판별대상: |
| + | case 값: |
| + | 명령 |
| + | case 값2: |
| + | 명령령 |
| + | </syntaxhighlight> |
| + | |- |
| + | |함수 변수매칭 |
| + | |함수로 들어오는 변수의 형태에 따라 다른 행동을 설정할 수도 있..으나, 그닥 안쓸것 같아 지금은 정리해두지 않는다. |
| + | |} |