AI학습 12

이유진·2024년 6월 27일

-- 18.모듈.ipynb --

1. 모듈

  • 클래스 또는 함수를 모아놓은 파일
  • 모든 파이썬 파일(.py)는 모듈
# 모듈의 전체 함수 가져오기
import 모듈명

# 사용
모듈명.함수명()

import test

print(test.total(1,10))

# 특정 함수만 골라서 가져오기
from 모듈명 import 함수1, 함수2, ...

# 사용
함수명()

from test import calc

print(calc(10,2))
, , result, _ = calc(10,2)
print(result)

# 특정 함수만 골라서 가져오기
from 모듈명 import *     (*은 전부의 의미)

# 사용
함수명()

from test import *

print(calc(1,10))
print(total(1,10))

# 모듈 별명 붙이기
import 모듈명 as 별명

# 사용
별명.함수명()

import test as ts

ts.total(1,100)

2. 모듈

  • 모듈의 상위 개념
  • 모듈이 모여있는 디렉토

2-1.패키지 관리자

  • 외부 모듈을 설치 또는 삭제하기 위한 프로그램
  • pip명령을 사용(파이썬3.4 이 후 파이썬 설치하면 pip같이 설치)
  • 윈도우 명령 프롬프트 또는 터미널에서 사용
  • pip-version으로 버전을 확인할 수 있음

-- 19.오류처리.ipynb --

1. 오류처리

  • 오류가 발생되었을 때 별도의 처리를 하거나 무시하고 프로그램을 실행하는 것
  • 오류가 발생될 것으로 예상되는 문장을 try 블록에 코딩하고 try 블록에 코딩된 내용을 실행하다가 오류가 발생하면 더 이상 try 블록의 내용을 실행하지 않고, 해당 오류의 except 블록에 코딩된 내용을 실행
  • 파이썬은 발생할 수 있는 모든 문제를 예외 클래스로 만들어 놓음
  • 모든 예외 클래스는 BaseException 클래스의 자식 클래스이며 BaseException 클래스의 자식 클래스 중 Exception 클래스는 모든 예외 클래스의 부모 클래스가 됨
try :
  오류가 발생될 것으로 예상되는 문장
  ...
  ...
except 오류클래스명1 :
  해당 오류가 발생하면 실행할 문장
  ...
except 오류클래스명2 :
  해당 오류가 발생하면 실행할 문장
  ...
except 오류클래스명3 :
  해당 오류가 발생하면 실행할 문장
  ...
else :
  오류가 없을 경우 실행할 문장
  ...
finally :
  오류 발생 여부와 상관없이 무조건 실행할 문장
  ...

print(11)
print(11/0) # 에러가 발생하면 그 아래코드는 실행하지 않는다.
print(22)

try :
print(11)
print(11/0)
print(22)
except ZeroDivisionError as zero :
print('0으로 나눌 수 없습니다.')
finally :
print('정상 종료')

try :
print(11)
print(22)
data = [10, 20, 30]
print(data[3])
except ZeroDivisionError as zero :
print('0으로 나눌 수 없습니다.')
except IndexError as Ind :
print('인덱스 에러입니다.')
finally :
print('정상 종료')

문제

숫자와 문자를 섰어 입력하면 숫자를 먼저 정렬하고 문자를 정력하는식의 오름차순으로 정렬하여 출력하는 프로그램을 작성해보자 (단, 000을 입력하면 정렬을 시작함)

  • 데이터를 입력하세요 : abc
  • 데이터를 입력하세요 : 123
  • 데이터를 입력하세요 : 1
  • 데이터를 입력하세요 : bbb
  • 데이터를 입력하세요 : 000
  • 결과 [1,123,'abc','bbb']

nums = []
strings = []
list = []

while True :
data = input('데이터를 입력하세요 :')
if data == '000' :
break

VlaueError

try :
nums.append(data)
except :
strings.append(data)

nums.sort()
strings.sort()
print(nums + strings)

profile
독해지자

0개의 댓글