데이터분석/Python 파이썬 1달만에 마스터하기

Day15 Try-exception, import, package install [파이썬 1달만에 마스터하기]

어반닥터 2024. 1. 23. 12:56
728x90
반응형
지난 시간 리뷰

def solution(phone_number):
    newNumber = ""
    for index,item in enumerate(phone_number):
        if len(phone_number)-4 > index:
            newNumber += "*"

        else:
            newNumber += item
    return newNumber
a = solution("01012345678")
print(a)    #*******5678

 

 

Day 15

프로그래밍에는 3대 에러가 있음

1. 컴파일 에러: 문법 오류
2. 런타임 에러: 실행중 오류
3. 컨텍스트 에러: 사람만 알 수 있는 오류 (테스터가 있는 경우)

예외 처리의 정의 (Exception)

Exception은 프로그램 실행 중에 발생하는 예기치 않은 상황이나 오류를 의미함.
Exception Handling 은 이러한 예외 상황을 감지하고, 프로그램을 안전하게 종료하거나 문제를 해결하기 위해 정의된 방식으로 처리하는 기술임. 

(try ~ except 파이썬 문법)

try 예외가 발생할 가능성이 있는 구문
except 예외가 발생하면 실행 되는 구문
else 예외가 실행되지 않으면 실행 되는 구문
finally 예외가 발생하던 발생하지 않던 무조건 실행되는 구문 

(에러가 발생 할 수 있는 경우!)

ValueError 함수가 올바른 유형의 값을 받았지만, 그 값이 올바르지 않은 경우 발생
IndexError 리스트,튜플,문자열 등의 시퀀스에서 인덱스가 범위를 벗어난 경우 발생
KeyError 딕셔너리에서 존재하지 않는 키를 검색할 때 발생
AttributeError 객체에 존재하지 않는 속성이나 메서드를 접근하려고 할 때 발생
ZeroDivisionError 숫자를 0으로 나누려고 할 때 발생
TypeError 연산이나 함수가 적절하지 않은 유형의 객체에 적용될 때 발생

(try ~ except 예시)

try:   #try는 에러가 날 것 같은 구문을 적는 곳!
    num = int(input("숫자 입력:"))
    result = 10 / num
    print(f'결과는 {result}')
except Exception:
    print('에러가 있습니다.')
try:   #try는 에러가 날 것 같은 구문을 적는 곳!
    num = int(input("숫자 입력:"))
    result = 10 / num
    print(f'결과는 {result}')
except ValueError:
    print('제발 숫자를 입력하세요.')
except ZeroDivisionError:
    print("0으로 못나눕니다.")
else:
    print('에러없습니다')
finally:
    print('상관없으니 보여주라')

 

소프트웨어 Hierarchy

컴포넌트 -> 모듈 -> 패키지 -> 라이브러리 -> 프레임워크 -> 어플리케이션

컴포넌트 : 재사용 가능한 독립적인 단위
모듈: 하나 이상의 컴포넌트를 포함하며, 상호 관련된 코드 그룹 
패키지 : 하나 이상의 모듈을 포함하며, 기능 단위로 그룹화
라이브러리 : 다른 프로그램이나 프로젝트에 호출 되는 단위 ex) Pandas, Numpy
프레임워크 : 특정 개발 작업을 위한 기본 구조 제공 ex) Flask

(import sheet)

#첫번째 예시
import my_math as mm
result = mm.add(10,10)
print(result)  #20
#두번째 예시
from my_math import add   # add function만 가져옴
result2= add(10,20)
print(result2)  #30
#세번째 예시
from my_math import *  # *는 다~가져오겠음
result3= add(1,3)
print(result3)  #4

 

(라이브러리에서 yfinance를 인스톨)
(설정 > 프로젝트 인터프리터 > 패키지 검색 & 인스톨)

import yfinance


apple = yfinance.Ticker("AAPL")
current_price = apple.info['currentPrice']
print(f"애플주식의 현재 가격: {current_price}")
# 애플주식의 현재 가격: 193.89

ms = yfinance.Ticker("MS")
current_price = ms.info['currentPrice']
print(f"마이크로소프트의 현재 가격: {current_price}")
# 애플주식의 현재 가격: 193.89
#마이크로소프트의 현재 가격: 85.73

 

반응형