ݺߣ

ݺߣShare a Scribd company logo
널널한 교수의 기초 파이썬
18_2. 파이썬 표준 라이브러리
창원대학교 정보통신공학과 박동규
동영상 강의자료와 코드
• 동영상 강의(널널한 교수의 기초 파이썬)
• https://www.youtube.com/watch?
v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX
• 소스코드( GitHub )
• https://github.com/dongupak/Basic-Python-Programming
파이썬 표준 라이브러리
• 파이썬 내장함수 - 파이썬 언어와 함께 배포되는 기본 함수들

• 파이썬 라이브러리 - 파이썬 사용시에 편리하게 이용할 수 있는 함
수의 집합

• 여러기관에서 파이썬 라이브러리를 개발하고 있다

• 파이썬 표준 라이브러리 - 파이썬 소프트웨어 재단에서 공인한 파
이썬 라이브러리들

• 방대한 표준 라이브러리가 모듈 혹은 패키지 형태로 존재한다
파이썬 모듈
https://docs.python.org/3/py-modindex.html
파이썬 표준 모듈 색인
텍스트 처리관련 라이브러리
• string : 일반적인 문자열 연산을 제공함(대소문자 변환, 포매팅등)

• re : 정규 표현식 연산을 제공함(유닉스의 정규표현식 문법과 유사)

• difflib : 코드나 텍스트를 비교하는 기능을 제공한다

• textwrap : 텍스트를 특정한 크기로 만들거나 특정문자로 채우는 기능

• unicodedata : 유니코드 문자 데이터베이스에 접근해서 코드값이나
문자이름을 읽어올 수 있다

• stringgrep, headline, rlcompleter등…
이진 데이터 처리 서비스
• struct : C언어의 구조체(struct)는 서로다른 자료형의 데이터를 하
나로 묶을 수 있어 편리한데, 이 구조체를 파이썬의 bytes 객체로
상호 변환시킬 수 있다

• codecs : 이 모듈은 표준 파이썬 코덱(암호화, 복호화)을 위한 클래
스로 온갖 종류의 텍스트 인코딩과 디코딩을 지원한다
데이터 형
• datatime, calender, collections, collections.abc, heaps,
bisect, array, weakref, types, copy, print, reprilib, enum :
날짜, 시간, 달력, 컨테이너, 힙 큐, 배열등의 여러 자료형을 효과적
으로 다루는 모듈
수치값 및 수학 모듈
• numbers : 수치 추상 베이스 클래스

• math : 수학 함수가 있는 모듈

• cmath : 복소수를 위한 수학 함수 모듈

• decimal : 10진 고정 소수점, 부동 소수점 연산

• fractions : 분모와 분자꼴을 가지는 유리수 연산을 지원하는 모듈

• random, statistics : 난수와 통계처리 함수
함수 프로그래밍 모듈
• itertools : 효과적인 반복문을 위한 반복자(iterator)를 생성하는 함
수

• functools : 다른 함수를 반환할 수 있는 함수

• operator : 파이썬의 표준 연산자를 함수형태로도 다룰 수 있음
파일과 디렉토리
• pathlib : 객체지향 파일시스템 경로

• os.path : 일반적인 경로명과 처리방법

• fileinput : 여러개의 파일을 통해 연속적으로 입력을 받을 수 있음 

• stat : 유닉스 시스템 함수인 stat() 함수로 부터 얻은 결과를 번역하는
모듈임

• filecmp : 파일과 디렉토리의 비교

• tempfile, glob, fnmatch, linecache, shutil, macpath
데이터 압축과 보존
• zlib : gzip 압축 프로그램과 호환성있는 압축 모듈

• gzip : gzip 파일을 지원하는 모듈

• bz2 : bzip2 압축을 지원하는 모듈

• lzma : LZMA 압축 알고리즘을 지원하는 모듈

• zipfile : ZIP 보존 파일처리를 지원

• tarfile : 유닉스 시스템에서 사용되는 tar 보존 파일을 지원
파일 포맷과 암호 서비스
• csv: 엑셀등에서 사용되는 comma separated value 파일을 읽
고 쓸 수 있는 모듈

• configparser: 설정 파일(configuration file)을 파싱하는 모듈

• netrc, xdrlib, plistlib: nitrc, XDR, 맥 운영체제의 plist 데이터를
파싱하는 모듈
암호 서비스
• hashlib: 안전한 해쉬 와 메시지 간략화 서비스

• hmac: 메시지 인증을 위한 키를 이용한 해슁

• secrets: 안전한 난수 생성 모듈
제너릭 운영체제 서비스
• os: 여러 종류의 운영체제를 위한 인터페이스 역할을 하는 모듈

• io: 스트림 작업을 위한 핵심 도구

• time: 지역시간, 그리니치 표준시간등의 시간을 사용하고 변환

• argparse, getopt, logging, getpass, curses, platform,
errno, ctype
병렬처리
• 쓰레드나 다중 프로세싱을 지원하는 모듈

• 자바 언어의 경우 쓰레드 클래스와 Runnable 인터페이스 제공

• 파이썬은 표준 라이브러리에서 지원

• threading, multiprocessing, concurrent.futures,
subprocess, ached, queue, _thread, _dummy_thread,
dummy_threading
네트워킹과 프로세스간 통신
• 비동기 입출력이나 소켓통신, 비동기 소켓 핸들러, 비동기 이벤트
핸들링을 지원하는 모듈

• asyncio, socket, ssl, select, selectors, asyncore,
asynchat, signal, mmap
인터넷 데이터 처리와 마크업 언어
• email, json, uu 인코드등 인터넷상의 정보교환에 사용되는 다양
한 패키지가 있음

• html 과 같은 하이퍼 텍스트 마크업 언어를 지원함

• 파서, XML 등의 구조화 작업을 위한 다양한 모듈

• 인터넷 프로토콜을 지원함

• webbrowser, cgi, cgitb, wsgiref, urllib, http등..
멀티미디어 처리
• 다양한 오디오파일 이미지 파일을 처리하는 모듈이 있음

• 다양한 언어를 지원하는 모듈료 locale 이 있음

• 터틀 그래픽, 커맨드 라인 명령어 번역기 등이 있음

• tkinter 와 같은 그래픽 사용자 인터페이스 모듈이 있음
그외 모듈들
• 프로그래밍 개발도구

• 디버깅과 프로파일링

• 소프트웨어 패키징과 배포를 위한 모듈

• 파이썬 실행시간 서비스 모듈

• 파이썬 번역기, 파이썬 파서, MS 윈도나 유닉스에 특화된 서비스들

• 계속계속 개발중임
외부 라이브러리 및 패키지
• 머신러닝을 위한 구글의 텐서플로 Tensorflow

• 과학 분석 및 머신러닝 도구 scikit-learn

• 데이터 분석과 처리를 위한 도구 pandas, matplot

• 과학 계산을 위한 SciPy, NumPy

• OpenGL API를 파이썬에서 사용할 수 있는 PyOpenGL

• Pygame, IPython, Request, Scrapy, wxPython, Pillow,
SQLAlchemy, BeautifulSoup,Twisted,….
감사니다

More Related Content

18 2 파이썬표준라이브러리

  • 1. 널널한 교수의 기초 파이썬 18_2. 파이썬 표준 라이브러리 창원대학교 정보통신공학과 박동규
  • 2. 동영상 강의자료와 코드 • 동영상 강의(널널한 교수의 기초 파이썬) • https://www.youtube.com/watch? v=TK6RLGaM3Ao&list=PL2P1Vm9k53HOEn-QYXAfblQWkR0OW9mKX • 소스코드( GitHub ) • https://github.com/dongupak/Basic-Python-Programming
  • 3. 파이썬 표준 라이브러리 • 파이썬 내장함수 - 파이썬 언어와 함께 배포되는 기본 함수들 • 파이썬 라이브러리 - 파이썬 사용시에 편리하게 이용할 수 있는 함 수의 집합 • 여러기관에서 파이썬 라이브러리를 개발하고 있다 • 파이썬 표준 라이브러리 - 파이썬 소프트웨어 재단에서 공인한 파 이썬 라이브러리들 • 방대한 표준 라이브러리가 모듈 혹은 패키지 형태로 존재한다
  • 5. 텍스트 처리관련 라이브러리 • string : 일반적인 문자열 연산을 제공함(대소문자 변환, 포매팅등) • re : 정규 표현식 연산을 제공함(유닉스의 정규표현식 문법과 유사) • difflib : 코드나 텍스트를 비교하는 기능을 제공한다 • textwrap : 텍스트를 특정한 크기로 만들거나 특정문자로 채우는 기능 • unicodedata : 유니코드 문자 데이터베이스에 접근해서 코드값이나 문자이름을 읽어올 수 있다 • stringgrep, headline, rlcompleter등…
  • 6. 이진 데이터 처리 서비스 • struct : C언어의 구조체(struct)는 서로다른 자료형의 데이터를 하 나로 묶을 수 있어 편리한데, 이 구조체를 파이썬의 bytes 객체로 상호 변환시킬 수 있다 • codecs : 이 모듈은 표준 파이썬 코덱(암호화, 복호화)을 위한 클래 스로 온갖 종류의 텍스트 인코딩과 디코딩을 지원한다
  • 7. 데이터 형 • datatime, calender, collections, collections.abc, heaps, bisect, array, weakref, types, copy, print, reprilib, enum : 날짜, 시간, 달력, 컨테이너, 힙 큐, 배열등의 여러 자료형을 효과적 으로 다루는 모듈
  • 8. 수치값 및 수학 모듈 • numbers : 수치 추상 베이스 클래스 • math : 수학 함수가 있는 모듈 • cmath : 복소수를 위한 수학 함수 모듈 • decimal : 10진 고정 소수점, 부동 소수점 연산 • fractions : 분모와 분자꼴을 가지는 유리수 연산을 지원하는 모듈 • random, statistics : 난수와 통계처리 함수
  • 9. 함수 프로그래밍 모듈 • itertools : 효과적인 반복문을 위한 반복자(iterator)를 생성하는 함 수 • functools : 다른 함수를 반환할 수 있는 함수 • operator : 파이썬의 표준 연산자를 함수형태로도 다룰 수 있음
  • 10. 파일과 디렉토리 • pathlib : 객체지향 파일시스템 경로 • os.path : 일반적인 경로명과 처리방법 • fileinput : 여러개의 파일을 통해 연속적으로 입력을 받을 수 있음 • stat : 유닉스 시스템 함수인 stat() 함수로 부터 얻은 결과를 번역하는 모듈임 • filecmp : 파일과 디렉토리의 비교 • tempfile, glob, fnmatch, linecache, shutil, macpath
  • 11. 데이터 압축과 보존 • zlib : gzip 압축 프로그램과 호환성있는 압축 모듈 • gzip : gzip 파일을 지원하는 모듈 • bz2 : bzip2 압축을 지원하는 모듈 • lzma : LZMA 압축 알고리즘을 지원하는 모듈 • zipfile : ZIP 보존 파일처리를 지원 • tarfile : 유닉스 시스템에서 사용되는 tar 보존 파일을 지원
  • 12. 파일 포맷과 암호 서비스 • csv: 엑셀등에서 사용되는 comma separated value 파일을 읽 고 쓸 수 있는 모듈 • configparser: 설정 파일(configuration file)을 파싱하는 모듈 • netrc, xdrlib, plistlib: nitrc, XDR, 맥 운영체제의 plist 데이터를 파싱하는 모듈
  • 13. 암호 서비스 • hashlib: 안전한 해쉬 와 메시지 간략화 서비스 • hmac: 메시지 인증을 위한 키를 이용한 해슁 • secrets: 안전한 난수 생성 모듈
  • 14. 제너릭 운영체제 서비스 • os: 여러 종류의 운영체제를 위한 인터페이스 역할을 하는 모듈 • io: 스트림 작업을 위한 핵심 도구 • time: 지역시간, 그리니치 표준시간등의 시간을 사용하고 변환 • argparse, getopt, logging, getpass, curses, platform, errno, ctype
  • 15. 병렬처리 • 쓰레드나 다중 프로세싱을 지원하는 모듈 • 자바 언어의 경우 쓰레드 클래스와 Runnable 인터페이스 제공 • 파이썬은 표준 라이브러리에서 지원 • threading, multiprocessing, concurrent.futures, subprocess, ached, queue, _thread, _dummy_thread, dummy_threading
  • 16. 네트워킹과 프로세스간 통신 • 비동기 입출력이나 소켓통신, 비동기 소켓 핸들러, 비동기 이벤트 핸들링을 지원하는 모듈 • asyncio, socket, ssl, select, selectors, asyncore, asynchat, signal, mmap
  • 17. 인터넷 데이터 처리와 마크업 언어 • email, json, uu 인코드등 인터넷상의 정보교환에 사용되는 다양 한 패키지가 있음 • html 과 같은 하이퍼 텍스트 마크업 언어를 지원함 • 파서, XML 등의 구조화 작업을 위한 다양한 모듈 • 인터넷 프로토콜을 지원함 • webbrowser, cgi, cgitb, wsgiref, urllib, http등..
  • 18. 멀티미디어 처리 • 다양한 오디오파일 이미지 파일을 처리하는 모듈이 있음 • 다양한 언어를 지원하는 모듈료 locale 이 있음 • 터틀 그래픽, 커맨드 라인 명령어 번역기 등이 있음 • tkinter 와 같은 그래픽 사용자 인터페이스 모듈이 있음
  • 19. 그외 모듈들 • 프로그래밍 개발도구 • 디버깅과 프로파일링 • 소프트웨어 패키징과 배포를 위한 모듈 • 파이썬 실행시간 서비스 모듈 • 파이썬 번역기, 파이썬 파서, MS 윈도나 유닉스에 특화된 서비스들 • 계속계속 개발중임
  • 20. 외부 라이브러리 및 패키지 • 머신러닝을 위한 구글의 텐서플로 Tensorflow • 과학 분석 및 머신러닝 도구 scikit-learn • 데이터 분석과 처리를 위한 도구 pandas, matplot • 과학 계산을 위한 SciPy, NumPy • OpenGL API를 파이썬에서 사용할 수 있는 PyOpenGL • Pygame, IPython, Request, Scrapy, wxPython, Pillow, SQLAlchemy, BeautifulSoup,Twisted,….