점프 투 파이썬 (8) 모듈, 패키지, 예외 처리, 라이브러리

2023. 12. 4. 22:29·Programming/Python

1. 모듈

파이썬 확장자 .py로 만든 파이썬 파일은 모두 모듈이다.

import 모듈_이름
from 모듈_이름 import 모듈_함수

특정 함수만 가져올 수도 있다.

클래스나 변수를 가져올 수도 있다.

print(mod2.PI)

print(a.solv(2))

다른 디렉터리에 있는 모듈을 불러오는 것도 가능하다.

if __name__ == "__main__":의 의미

모듈에서 함수만 가져오려고 했는데 그 모듈에 있는 결괏값까지 출력될 경우가 있다.

이 문제를 방지하려면 어떻게 해야 할까?

위 문장을 모듈 안에 붙여놓으면 된다.

 

2. 패키지

모듈의 집합이 패키지이다.

모듈을 모아놓은 디렉토리이다.

 

3. 예외 처리

오류의 예

FileNotFoundError

ZeroDivisionError

IndexError 

오류 예외 처리 기법

try: 오류가 발생할 수 있는 구문

except Exception as e: 오류 발생

else: 오류 발생하지 않음

finally: 무조건 마지막에 실행

try-except 문

오류가 발생하면 그것을 잡아서 그에 맞게 처리하는 것이다.

try:
    4 / 0
except ZeroDivisionError as e:
    print(e)
division by zero

try-finally 문

중간에 오류가 발생하더라도 무조건 실행한다.

try-else 문

오류가 없을 경우에 수행되는 문장이다.

try:
except [발생오류 [as 오류변수]]:
else:  # 오류가 없을 경우에만 수행
try:
    age=int(input('나이를 입력하세요: '))
except:
    print('입력이 정확하지 않습니다.')
else:
    if age <= 18:
        print('미성년자는 출입금지입니다.')
    else:
        print('환영합니다.')

except 에는 어떤 오류인지를 안 썼다. 무슨 오류가 나든지 다음 프린트값으로 가게 된다.

 

오류 회피하기

오류를 그냥 지나고자 할 때는 어떻게 해야 하나요?ㅠㅠ

pass를 이용하자!

try:
    f = open("나없는파일", 'r')
except FileNotFoundError:
    pass

 

오류 일부러 발생시키기

종종 오류를 일부러 내야 할 때도 생긴다. 이런 경우 어떻게 해야 할까!

raise 명령어를 사용하면 강제로 발생시킬 수 있다.

 

예외 만들기

try:
    say_nick("천사")
    say_nick("바보")
except MyError as e:
    print(e)

 

4. 내장 함수

"이미 있는 것을 다시 만드느라 시간을 낭비하지 말라."

 

5. 표준 라이브러리

내장된 것이 아니라 import 해서 쓰는 것이다. 따로 설치할 필요가 없는 것이다.

 

6. 외부 라이브러리

인터넷에 있는 것을 다운로드해서 사용하는 것이다.

pip라는 도구를 이용한다.

pip

파이썬 모듈이나 패키지를 쉽게 설치할 수 있도록 도와주는 도구이다.

pip install SomePackage 

PyPI는 파이썬 소프트웨어가 모인 저장 공간이다.

 

Faker

외부 라이브러리 중 하나이다.

테스트용 가짜 데이터를 생성할 때 사용하는 라이브러리이다.

>>> from faker import Faker
>>> fake = Faker()
>>> fake.name()
'Matthew Estrada'
>>> test_data = [(fake.name(), fake.address()) for i in range(30)]

 

sympy

방정식 기호를 사용하게 해주는 라이브러리다.

 

 

 

 


Studying Date : 23.12.03~04

Studying Source : https://www.youtube.com/watch?v=hY-MlUJc01E&t=1554, https://wikidocs.net/29

'Programming > Python' 카테고리의 다른 글

PY4E >> 중요하고 헷갈리는 개념들의 정리  (0) 2023.12.20
점프 투 파이썬 (9) 실습  (1) 2023.12.05
점프 투 파이썬 (7) 클래스  (3) 2023.12.03
점프 투 파이썬 (6) 입출력  (2) 2023.12.03
점프 투 파이썬 (5) 함수  (1) 2023.12.03
'Programming/Python' 카테고리의 다른 글
  • PY4E >> 중요하고 헷갈리는 개념들의 정리
  • 점프 투 파이썬 (9) 실습
  • 점프 투 파이썬 (7) 클래스
  • 점프 투 파이썬 (6) 입출력
Ctrl_engineer
Ctrl_engineer
Ctrl 키는 혼자일 때보다 다른 키와 함께할 때 진짜 힘을 발휘합니다. 데이터도, 사람도 마찬가지입니다. 연결되고 흐를 때, 세상은 더 나은 방향으로 움직입니다. 저는 데이터의 흐름을 설계하고, 신뢰를 심는 엔지니어가 되고자 합니다. 이곳은, 그 여정의 작은 흔적들을 기록하는 공간입니다.
  • Ctrl_engineer
    Ctrl the flow
    Ctrl_engineer
  • 전체
    오늘
    어제
    • 분류 전체보기 (61)
      • Research (9)
        • Raspberry Pi (9)
      • Data Enginnering (24)
        • Cloud (3)
        • Elastic (6)
        • Database (9)
        • Pipeline (3)
      • CS STUDY (0)
        • Computer Science (0)
        • DataStructure & Algorithm (0)
      • Programming (13)
        • Python (13)
      • Mathematics and Statistics (10)
      • Data Science (3)
        • Data Insight (2)
        • Learning (0)
        • ML & DL (0)
      • DIARY (0)
      • TIL (Today I Learned) (2)
  • 블로그 메뉴

    • 홈
    • 태그
    • 방명록
  • 링크

  • 공지사항

  • 인기 글

  • 태그

    SQL
    Khan Academy
    elasticSearch
    climb-mates
    Khan
    proxyjump 설정
    linear algebra
    부스트코스
    라즈베리파이5
    Statistics and Probability
    ssh 비밀번호 없이 접속
    spark
    heap size
    티스토리챌린지
    점프투파이썬
    오블완
    라즈베리파이 네트워크 설정
    py4e
    3blue1brown
    shellyplugs
  • 최근 댓글

  • 최근 글

  • hELLO· Designed By정상우.v4.10.1
Ctrl_engineer
점프 투 파이썬 (8) 모듈, 패키지, 예외 처리, 라이브러리
상단으로

티스토리툴바