이번 강의에서는 방대한 파이썬 표준 라이브러리의 내용과 기능을 살펴보고 파이썬 외부 라이브러리에 대해서도 살펴보겠습니다.
- 강의 키노트 자료는 다음 링크를 통해 다운 받으세요
https://drive.google.com/drive/folders/1UrrO4_ch4xcIErbExstwpUVY6vFvPdkW
- 강의 소스코드는 다음 링크를 통해 다운 받으세요
https://github.com/dongupak/Basic-Python-Programmingwjd
1 of 21
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,….