1. 조건문 ( if )
- 조건에 따라 처리를 한다.
# 방법1
if 조건문:
# 조건에 맞을 경우 실행
else:
# 조건문에 맞지 않을 경우 실행
# 방법2
조건에 맞을 경우 if 조건문 else 조건문에 맞지 않을 경우
# 방법1
a = 5
if a > 3:
print('~~~~')
else:
print('@@@@')
# 방법2
print('---') if a > 3 else print('@@@')
- 다중 if
if 조건문:
# 조건문에 맞을 경우 실행
elif 조건문:
# 조건문에 맞을 경우 실행
else:
# 조건문에 맞지 않을 경우 실행
💡 퀴즈
str1 = "코딩좋아^^"
endWord = str1.count('^')
# 조건1 : str1 길이가 a보다 큰가? -> print : str1 길이가 a보다 큼
# 조건2 : str1에 '^'의 갯수가 a보다 큰가? -> print : str1의 '^'의 갯수가 a보다 큼
# else : print format을 이용해서 글을 작성 -> 'a의 값은 {}입니다.'
if len(str1) > a:
print("str1 길이가 a보다 큼")
elif endWord > a:
print("str1의 '^'의 갯수가 a보다 큼")
else:
print(f"a의 값은 {a}입니다.")
⭐ if는 집합의 관점으로 교집합이 가장 적은 범위부터 if 조건을 걸어야 한다.
ex) 부자 → 중산층 → 서민 : 필터링
1 - 1. 비교연산자
- <, >, ==, ≠, ≥, ≤
- or, and, not
- in
2. 반복문 ( for, while )
- list, tuple, str과 같이 인덱싱을 할 수 있는 자료형 이용
- dict는 인덱싱이 아닌 key, value이기에 안됨
- pass : 계속 진행
- 제어문 안에 쓸 내용이 없는데 코드를 진행해야 하는 경우 사용
lst = [1, 2, 3, 4, 5, 6, 7]
for i in lst:
if i % 3 == 0:
# 어떤 내용으로 채울지 모를 때 사용
# 아무것도 채우지 않는다면 오류가 나기 때문에
pass
else:
print(f'i: {i}\n')
- break : loop를 나간다.
- continue : 다음 순서로 넘어간다.
lst = [1, 2, 3]
# 방법1
for i in lst:
print(i)
# 방법2
[ i for i in lst ]
- for - else
- for문 실행이 정상적으로 완료되면 else가 실행
- for문 내에 오류가 발생 했을 시 else는 실행되지 않는다.
- break를 만나면 실행되지 않는다. (pass, continue는 실행된다.)
lst = [1, 2, 3]
for i in lst:
print(i)
else:
print("for문 완료")
lst = [1, 2, 3]
for i in lst:
break
print(i)
else:
print("for문 완료") # 실행 X
- while
- for문과 친구
- 조건이 참일 경우에만 계속 실행 (무한)
- 거짓일 경우에는 끝난다.
- for는 요소의 값이 끝나면 끝난다.
- pass, break, continue ⇒ for문과 동일
while 조건문:
# 참일 경우 실행 코드
total = 0
index = 0
while index < 10:
index += 1 # index = index + 1
print(f'i: {index}')
total += index
print(total)
- while - else
- for - else와 동일
3. Exception (오류)
- ValueError
- IndexError
- SyntaxError
- NameError
- ZeroDivisionError
- FileNotFoundError
- TypeError
- AttributeError
- KeyError
- ….
4. 예외처리
- 왜 써야 하나?
- 물건 선택
- 결제
- 배송 ⇒ 오류 발생
- ⇒ 오류 발생 시 처리가 필요하다.
- try/except
try:
# 로직, 기능
except <오류종류>:
# try문에서 Exception이 발생했을 경우 실행됨
try:
x = int('abc')
print(x)
except ValueError as e:
print(f'오류 메세지: {e}')
try:
int('abc')
except Exception as e:
print(f'오류명: {type(e)} / 오류 메세지: {e}')
try:
x = [1, 2, 3]
x.appe(4)
except ValueError as e:
print(f'오류명: {type(e)} / 오류 메세지: {e}')
except TypeError as e:
print(f'오류명: {type(e)} / 오류 메세지: {e}')
except Exception as e:
print(f'오류명: {type(e)} / 오류 메세지: {e}')
- else/finally
try:
# 로직, 기능
except <오류종류>:
# try문에서 Exception이 발생했을 경우 실행됨
else:
# try문이 성공했을 경우 실행
finally:
# try문의 결과와 상관없이 실행, 가장 마지막에 실행
try:
x = 11 + int('22')
print(x)
except:
print('except ~~')
else:
print('else ~~')
finally:
print('finally ~~')
5. assert
- 조건이 False일 경우, 발생
- 디버깅 모드에서만 작동
6. raise error
- 내가 작성한 에러 메시지가 뜬다.
try:
x = 5
if x % 3 != 0:
raise Exception('3의 배수가 아닙니다.')
print('3의 배수 입니다.')
except Exception as e:
print(f'에러 메세지: {e}')
# 에러 메세지: 3의 배수가 아닙니다.
728x90
반응형
'Language > Python' 카테고리의 다른 글
[Python] 함수 (Function) (0) | 2024.05.13 |
---|---|
[Python] 문제 (0) | 2024.05.13 |
[Python] 자료구조 (0) | 2024.05.13 |
[Python] 문법 (0) | 2024.05.13 |
[Python] 개발환경 설정 (0) | 2024.05.05 |