본문 바로가기
TIL

[TIL] 2025.01.10(금) - python 학습

by 요호유후 2025. 1. 15.
반응형

금일 학습사항

 1. 오류 종류와 기본 예외처리
 2. try except 구문
 3. 예외 객체와 구분하기
 4. raise 구문
 5. 표준 모듈
 6. 외부 모듈
 7. 함수 데코레이터
 8. 패키지

 

 

각 학습별 상세내용

1. 오류 종류와 기본 예외처리

프로그램언어의 오류 2가지

▶ 구문 오류 : 프로그램 실행 전 발생하는 오류 (괄호의 개수, 들여쓰기 문제 등)

▶ 예외 또는 런타임 오류 : 프로그램 실행 중에 발생하는 오류

 

예외처리하는 방법

▶ 조건문을 사용하는 방법

▶ try-except문을 사용하는 방법

▶ 단, 구문 오류가 발생하는 경우는 예외처리로 불가하기 때문에 코드 자체를 수정해야 한다!!

 

isdigit() 함수
 - 문자열 내부에 숫자가 있는지 확인해준다.
 - 문자열 내부에 숫자가 있으면 True, 없으면 False로 반환한다.

 

2. try except 구문

기본구조

try:
    예외가 발생할 가능성이 있는 코드
except:
    예외가 발생했을 때 실행할 코드
else:
    예외가 발생하지 않았을 때 실행할 코드
finally:
    무조건 실행할 코드

* return문으로 함수를 빠져나와도 finally문이 있다면 finally문이 실행된다.
* 반복문의 break문을 만나 빠져나와도 finally문이 있다면 finally문이 실행된다.
* finally문은 협업 시 출력용으로 사용하기도 한다.

 

예외처리문 조합 규칙

try ~ except
try ~ except ~ else
try ~ except ~ finally
try ~ except ~ else ~ finally
try ~ finally

* 이 외 조합으로 구성할 경우 에러 발생

 

특징

except문에 별다른 처리하지 않을 땐, pass를 입력할 수 있다.

if문을 사용했을 때 보다 속도면에서는 불리하다.

try-except문에 else까지는 잘 쓰진 않는다... (애초에 다른 언어들은 예외처리문에 else가 없다.)

 

3. 예외 객체와 구분하기

예외객체

예외객체(Exception)을 사용하면 예외의 종류와 내용을 확인 할 수 있다.

 

응용

Exception 대신 에러명을 입력하면 해당 에러를 직접 처리할 수 있다.

try:
    x = a + b
except ValueError:
    print("정수로 입력해주세요")
except IndexError:
    print("리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요!")
    

[에러설명]
ValueError
  1. 부적절한 값을 가진 인자를 받았을 때 발생하는 에러
  2. 참조값이 없을 때 발생하는 에러
IndexError
  - 존재하지 않는 Index 값에 접근하려 할 때 발생하는 에러

 

as 키워드를 사용해서 에러내용을 출력할 수 있다.

try:
    x = a + b
except ValueError as exception:
    print("정수로 입력해주세요")
    print("exception:", exception)
except IndexError as exception:
    print("리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요")
    print("exception:", exception)

→ 출력 : 리스트의 범위를 벗어났습니다. 입력값을 다시 확인해주세요
              exception: list index out of range

 

4. raise 구문

raise란?

▶ 예외를 강제로 발생시키는 기능

▶ 우리가 의도하지 않게 작동하는 상황을 방지하기 위해 사용

▶ 잘 사용하지는 않아서 알아두기만 할 것!

 

5. 표준 모듈

표준 모듈이란?

▶ 파이썬에 기본적으로 내장되어 있는 모듈

* import 모듈명

예) import math
      import random
* from 모듈명 import 함수명

예) from math import co, sin, ceil

 

사용법

예) math : 수학 관련 모듈

import math

print(math.cos(5))
print(math.sin(10))
from math import * 
  → math 모듈의 모든 함수를 불러옴 (모든 함수를 읽어야 하기에, 프로그램 실행속도에 영향을 줄 수 있음)

import math as m
  → math 대신 m 으로 함수를 불러옴
      예) print(m.cos(5))

 

os 모듈

운영체제와 관련된 기능을 가진 모듈

os.system 명령어의 경우 사용 시 주의를 요함

 

기타 모듈

datatime, time, urllib 모듈 등이 있다.

6. 외부 모듈

외부 모듈

 파이썬에는 다양한 외부 모듈이 있다.

인공지능 분야에서는 텐서플로와 사이킷런이 있다.

웹 분야에서는 django와 fastapi 등 굉장히 많은 모듈이 있다.

이러한 모듈을 설치하는 방법은 pip install 명령을 이용하는 것이다.

 

외부 모듈의 예

* beautifulsoup4 : 정적페이지 크롤링, 스크래핑할 때 사용하는 외부 모듈

설치 : brew install beautifulsoup4

예)
from urllib import requestfrom bs4
import BeautifulSoup

target = request.urlopen("https://www.kma.go.kr/weather/forecast/mid-term-rss3.jsp?stnId=108")
soup = BeautifulSoup(target, "html.parser")

for location in soup.select("location"):
    print("도시:", location.select_one("city").string)
    print("날씨:", location.select_one("wf").string)

 

7. 함수 데코레이터

함수 데코레이터

@ 으로 시작하는 구문을 데코레이터라고 한다.

다른 함수들의 앞뒤로 꾸며주는 역할을 한다.

데코레이트를 사용하여 중복 코드 작성을 막을 수 있다.

 

8. 패키지

패키지

 모듈의 집합

반응형

댓글