Tags
- CS231n
- 군산
- 전주
- 우리fis아카데미
- 건담
- 우리에프아이에스
- ai_엔지니어링
- k-디지털트레이닝
- 오사카
- 대만여행
- fdr-x3000
- 수요미식회
- 축복렌즈
- 제주도
- 17-55
- 시청
- 카페
- 해리포터
- 650d
- Python
- 맛집
- 글로벌소프트웨어캠퍼스
- 도쿄
- 축복이
- 전시
- 사진
- 여행
- 우리fisa
- 대만
- SQL
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
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 |
- Today
- Total
Recent Posts
300x250
브렌쏭의 Veritas_Garage
[우리FISA] 3일차 Python 제어문 본문
조건문
분기문 이라고도 불리며, 조건에 따라 코드의 흐름을 변경하는 구문이다.
if
가장 기본적인 조건문이다.
- 조건식이 참일 경우 코드 블럭을 실행한다.
- 조건식이 거짓일 경우 코드 블럭을 실행하지 않는다.
if 조건식:
코드 블럭
elif 조건식:
코드 블럭
else:
코드 블럭
match ~ case
파이썬 3.10부터 추가된 새로운 분기문이다.
match 변수:
case 값1:
코드 블럭
case 값2:
코드 블럭
case 값3:
코드 블럭
case _:
코드 블럭
case _:
는default
와 같은 역할을 한다.case
블럭은break
가 필요 없다.case
블럭은:
로 끝나야 한다.case
블럭은if
와elif
처럼 여러 개를 사용할 수 있다.
a = 3
match a:
case 1:
print("1")
case 2:
print("2")
case 3:
print("3")
case _:
print("default")
_
는default
와 같은 역할을 한다.- 와일드카드로 사용된다.
|
를 사용하여 여러 값에 대한 분기를 한 번에 처리할 수 있다.
a = 3
match a:
case 1 | 2:
print("1 or 2")
case 3:
print("3")
case _:
print("default")
examples = [
['python'],
['1'],
['아침', '점심', '저녁'],
['score', 100, 22, 90]
]
x = ['python']
# for x in examples:
match x:
case ['python']:
print(x)
# break
case ['아침', '점심']:
print(x)
# break
case ['1'] | ['2']:
print(x)
# break
case ['score', *z]:
print(z) # [100, 22, 90]
# break
# case _:
# print('나머지 모든 경우')
case ['score', *z]:
에서*
는 나머지 값을 의미한다.['score', 100, 22, 90]
에서100, 22, 90
을 의미한다.*
는 리스트나 튜플 등의 컨테이너에 사용할 수 있다.
삼항 연산자
조건문을 한 줄로 표현할 수 있는 삼항 연산자이다.
변수 = 값1 if 조건식 else 값2
# 예시
a = 3
b = 5
max = a if a > b else b
print(max) # 5
들여쓰기 이야기
파이썬은 들여쓰기로 코드 블럭을 구분한다.
- 들여쓰기는 공백 4칸을 권장한다.
- 탭을 사용하면 안된다.
if 조건식:
코드 블럭
pass & continue & break
pass
: 아무것도 하지 않는다.
- 코드 블럭을 구현하지 않았을 때 사용한다.
- 미구현된 부분을 나중에 구현할 때 사용한다.
- if 문이나 함수 등에서 아무런 동작을 하지 않게 할 때 사용한다.
continue
: 코드 블럭을 건너뛴다.
- 반복문에서 특정 조건을 만족할 때, 코드 블럭을 건너뛸 때 사용한다.
- 반복문의 다음 반복으로 넘어간다.
continue
아래의 코드는 실행되지 않는다.
break
: 반복문을 종료한다.
- 반복문을 종료할 때 사용한다.
- 반복문을 강제로 종료한다.
break
아래의 코드는 실행되지 않는다.
for i in range(10):
if i == 3:
pass
elif i == 5:
continue
elif i == 7:
break
print(i)
- 위 코드에서
pass
는 아무런 동작을 하지 않는다. - 두번째
elif
에서continue
로 인해print(i)
가 실행되지 않는다. - 세번째
elif
에서break
로 인해 반복문이 종료된다.
논리연산자 && 비트연산자
논리연산자
and
: 논리곱or
: 논리합not
: 논리부정==
: 같다!=
: 같지 않다is
: 같은 객체인지 확인 (주소값 비교)is not
: 같은 객체가 아닌지 확인 (주소값 비교)in
: 포함되어 있는지 확인not in
: 포함되어 있지 않은지 확인
a = 3
b = 5
c = 3
print(a == b) # False
print(a == c) # True
print(a is b) # False
print(a is c) # True
print(a in [1, 2, 3]) # True
print(a not in [1, 2, 3]) # False
비트연산자
&
: 비트곱|
: 비트합^
: 배타적 비트합~
: 비트부정
a = 3
b = 5
print(a & b) # 1
print(a | b) # 7
print(a ^ b) # 6
print(~a) # -4
비트연산자의 경우 비트 단위로 연산을 수행한다.
- 작동 방식이 논리연산자와 다르다.
- 논리연산자는 논리 단위로 연산을 수행한다.
보통의 경우 비트연산자를 사용할 일은 없다.
- 하드웨어 제어나 네트워크 프로그래밍 등에서 사용한다.
반복문
반복문은 코드 블럭을 반복적으로 실행하는 구문이다.
while
조건식이 참일 경우 코드 블럭을 반복적으로 실행한다.
- 조건식이 거짓일 경우 반복문을 종료한다.
while 조건식:
코드 블럭
i = 0 # 초기값, 반복문의 바깥에서 선언
while i < 10: # 조건식
print(i)
i += 1 # 증감식
초기값을 반복문 바깥에서 선언하고, 반복문 안에서 증감식을 사용한다.
- 무한루프에 빠지지 않도록 주의한다.
break
를 사용하여 반복문을 종료할 수 있다.continue
를 사용하여 반복문의 다음 반복으로 넘어갈 수 있다.pass
를 사용하여 코드 블럭을 구현하지 않을 수 있다.else
를 사용하여 반복문이 종료되었을 때 실행할 코드 블럭을 구현할 수 있다.
i = 0
while i < 10:
if i == 5:
break
print(i)
i += 1
else:
print("반복문 종료")
for
시퀀스(리스트, 튜플, 문자열)의 요소를 하나씩 꺼내서 코드 블럭을 실행한다.
for 변수 in 시퀀스:
코드 블럭
for i in range(10):
print(i)
비교적 끝나는 시점이 명확한 경우에 사용한다.
while
은 끝나는 시점이 명확하지 않은 경우에 사용한다.for
는 끝나는 시점이 명확한 경우에 사용한다.
for
문에서 else
를 사용할 수 있다.
for
문이 정상적으로 종료되었을 때 실행할 코드 블럭을 구현할 수 있다.
for i in range(10):
if i == 5:
break
print(i)
else:
print("반복문 종료")
특이한 파이썬만의 무언가는 딱히 없는 것 같다.
다만, match ~ case
는 파이썬 3.10부터 추가된 새로운 분기문이다.
switch ~ case
와 비슷한 역할을 한다.
파이썬은 들여쓰기로 코드 블럭을 구분한다.
- 들여쓰기는 공백 4칸을 권장한다.
- 탭을 사용하면 안된다.
- 다른 언어와 달리 들여쓰기가 문법적인 요소로 사용된다.
'[Project_하다] > [Project_공부]' 카테고리의 다른 글
[우리FISA] 4일차 Function (0) | 2024.07.11 |
---|---|
[Paper] 2003.11755, A Survey of Deep Learning for Scientific Discovery (1) (0) | 2024.07.11 |
[우리FISA] 4일차 RegExp (0) | 2024.07.11 |
[우리FISA] 2일차 Python Methods (0) | 2024.07.10 |
[우리FISA] 2일차 Python Concepts (0) | 2024.07.09 |
[CS50] Memory Stack, Heap... by swap (0) | 2024.07.09 |
[우리FISA] 2일차 Python basics with Colab (0) | 2024.07.09 |
Comments