본문 바로가기
BIG DATA STUDY/Python

파이썬 배우기 #8 모듈

by StrongRiver 2022. 1. 17.
728x90
반응형

모듈

  • 모듈의 기능을 메인으로 불러와 적용하는 방법
  • mod1.py 코드
def add(a, b):
    return a + b

def sub(a, b):
    return a - b

#모듈을 직접 실행할 때만 나타내겠다
#'__name__'는 파일 자기가신의 파일명
if __name__== '__main__':
    print('===========',add(3,5))
    print('===========',sub(5,2))
  • 모듈의 import 하는 방법
#import mod1
#from mod1 import add, sub
#from mod1 import *
#임포트 형식
#import 모듈명
#from 모듈명 import 함수명 변수
  • 모듈이 동일한 디렉토리에 위치하지 않을 때 import하는 방법의 예시
  • main.py 코드
from mod1 import add, sub

import sys
sys.path.append('C:/Users/user/Desktop/빅데이터 수업자료/vs_sutdy/mod')

import mod2

print(add(3,4))
print(sub(4,2))

print(mod2.PI)

a= mod2.Math1() #mod2의 Math1이라는 class를 가져와 객체를 만든다

print(a.solv(2))
print(a.add(mod2.PI,4.4))

예외 처리

  • 에러 발생 시, 실행을 멈추지 않고 끝까지 실행하는 것
  • 예시1 : 0으로 나누는 zero division error의 발생이 예상 될 때 이를 예외처리하고 실행
try:
    4/0
except ZeroDivisionError as e:
    print(e)
  • 예시2: index error 발생 시 이를 예외처리
try:
    a = [1,2,3]
    print(a[4])
except IndexError as e:
    print(e)
  • 모든 에러 발생에 대해 예외처리 Exception
try:
    4/0
    
except Exception as e:
    print(e)
  • Exception 활용 예시
try:
    age = int(input('나이를 입력하세요'))
except Exception as e:
    print('입력이 정확하지 않습니다.',e)

else:
    if age < 18:
        print('미성년자입니다.')
    else:
        print('성인입니다.')
  • Exception을 발생시키는 것 'raise'
class Bird:
    def fly(self):
        raise NotImplementedError
        print('I can fly')

class Eagle(Bird):
    pass

eagle = Eagle()
eagle.fly()
  • 강제로 Exception 을 발생시키는 예시
class MyError(Exception):
    pass

def say_nick(nick):
    if nick == '바보':
        raise MyError()

    print(nick)

say_nick('바보')
728x90
반응형

댓글