SlideShare a Scribd company logo
1 of 21
Download to read offline
널널한 교수의 기초 파이썬
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

What's hot

Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)one_two_12
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLPEunjeong (Lucy) Park
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro흥배 최
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlowHaesun Park
 
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)Tae Young Lee
 
병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임codenavy
 
bof기초+rtl+fake_ebp
bof기초+rtl+fake_ebpbof기초+rtl+fake_ebp
bof기초+rtl+fake_ebpone_two_12
 
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영Tae Young Lee
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장SeongHyun Ahn
 
[OpenStack 하반기 스터디] Auto Install Kilo
[OpenStack 하반기 스터디] Auto Install Kilo[OpenStack 하반기 스터디] Auto Install Kilo
[OpenStack 하반기 스터디] Auto Install KiloOpenStack Korea Community
 
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터YunWon Jeong
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영Tae Young Lee
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6승태 김
 

What's hot (20)

Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)Buffer Overflow PPT (OneTwo)
Buffer Overflow PPT (OneTwo)
 
06 1 리스트
06 1 리스트06 1 리스트
06 1 리스트
 
파이선 실전공략-1
파이선 실전공략-1파이선 실전공략-1
파이선 실전공략-1
 
자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP자바, 미안하다! 파이썬 한국어 NLP
자바, 미안하다! 파이썬 한국어 NLP
 
닷넷 Apache avro
닷넷 Apache avro닷넷 Apache avro
닷넷 Apache avro
 
04 2 함수와매개변수
04 2 함수와매개변수04 2 함수와매개변수
04 2 함수와매개변수
 
1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow1.Introduction to Python and TensorFlow
1.Introduction to Python and TensorFlow
 
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
파이썬 데이터과학 1일차 - 초보자를 위한 데이터분석, 데이터시각화 (이태영)
 
병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임병렬 프로그래밍 패러다임
병렬 프로그래밍 패러다임
 
System+os study 6
System+os study 6System+os study 6
System+os study 6
 
bof기초+rtl+fake_ebp
bof기초+rtl+fake_ebpbof기초+rtl+fake_ebp
bof기초+rtl+fake_ebp
 
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영20150306 파이썬기초 IPython을이용한프로그래밍_이태영
20150306 파이썬기초 IPython을이용한프로그래밍_이태영
 
파이썬 스터디 9장
파이썬 스터디 9장파이썬 스터디 9장
파이썬 스터디 9장
 
[OpenStack 하반기 스터디] Auto Install Kilo
[OpenStack 하반기 스터디] Auto Install Kilo[OpenStack 하반기 스터디] Auto Install Kilo
[OpenStack 하반기 스터디] Auto Install Kilo
 
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
알파희 - PyPy/RPython으로 20배 빨라지는 아희 JIT 인터프리터
 
14 1 리스트의 메소드
14 1 리스트의 메소드14 1 리스트의 메소드
14 1 리스트의 메소드
 
17 1 람다함수
17 1 람다함수17 1 람다함수
17 1 람다함수
 
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
2016317 파이썬기초_파이썬_다중설치부터_Jupyter를이용한프로그래밍_이태영
 
Avro 조사
Avro 조사Avro 조사
Avro 조사
 
Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6Ch.14 파일 강c v0.6
Ch.14 파일 강c v0.6
 

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

Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)정명훈 Jerry Jeong
 
(130608) #fitalk pfp (portable forensic plaform)
(130608) #fitalk   pfp (portable forensic plaform)(130608) #fitalk   pfp (portable forensic plaform)
(130608) #fitalk pfp (portable forensic plaform)INSIGHT FORENSIC
 
20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)Yoonseok Pyo
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Steve Min
 
Linux programming study
Linux programming studyLinux programming study
Linux programming studyYunseok Lee
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)Heungsub Lee
 
모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개Hyogi Jung
 
[2012 자바카페 OPEN 세미나] Introduction to google guava
[2012 자바카페 OPEN 세미나] Introduction to google guava[2012 자바카페 OPEN 세미나] Introduction to google guava
[2012 자바카페 OPEN 세미나] Introduction to google guava흥래 김
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Han Sung Kim
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발Jeongkyu Shin
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표Hyun-min Choi
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시Han Sung Kim
 
아파치 쓰리프트 (Apache Thrift)
아파치 쓰리프트 (Apache Thrift) 아파치 쓰리프트 (Apache Thrift)
아파치 쓰리프트 (Apache Thrift) Jin wook
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composerjhyeon1010
 
Python & Spark
Python & SparkPython & Spark
Python & Sparkitproman35
 
Machine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIMachine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIJeongkyu Shin
 
Week2-3 review
Week2-3 reviewWeek2-3 review
Week2-3 reviewEun Yu
 

Similar to 18 2 파이썬표준라이브러리 (20)

Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)Python study 1강 (오픈소스컨설팅 내부 강의)
Python study 1강 (오픈소스컨설팅 내부 강의)
 
(130608) #fitalk pfp (portable forensic plaform)
(130608) #fitalk   pfp (portable forensic plaform)(130608) #fitalk   pfp (portable forensic plaform)
(130608) #fitalk pfp (portable forensic plaform)
 
JetsonTX2 Python
 JetsonTX2 Python  JetsonTX2 Python
JetsonTX2 Python
 
20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)20160414 ROS 2차 강의 (for 아스라다 팀)
20160414 ROS 2차 강의 (for 아스라다 팀)
 
Apache Htrace overview (20160520)
Apache Htrace overview (20160520)Apache Htrace overview (20160520)
Apache Htrace overview (20160520)
 
Linux programming study
Linux programming studyLinux programming study
Linux programming study
 
파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)파이썬 생존 안내서 (자막)
파이썬 생존 안내서 (자막)
 
모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개모바일 메신저 아키텍쳐 소개
모바일 메신저 아키텍쳐 소개
 
[2012 자바카페 OPEN 세미나] Introduction to google guava
[2012 자바카페 OPEN 세미나] Introduction to google guava[2012 자바카페 OPEN 세미나] Introduction to google guava
[2012 자바카페 OPEN 세미나] Introduction to google guava
 
Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료Django로 배우는 쉽고 빠른 웹개발 study 자료
Django로 배우는 쉽고 빠른 웹개발 study 자료
 
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
머신러닝 및 데이터 과학 연구자를 위한 python 기반 컨테이너 분산처리 플랫폼 설계 및 개발
 
Hoodpub 기술 발표
Hoodpub 기술 발표Hoodpub 기술 발표
Hoodpub 기술 발표
 
2017 새싹교실 1교시
2017 새싹교실 1교시2017 새싹교실 1교시
2017 새싹교실 1교시
 
아파치 쓰리프트 (Apache Thrift)
아파치 쓰리프트 (Apache Thrift) 아파치 쓰리프트 (Apache Thrift)
아파치 쓰리프트 (Apache Thrift)
 
Warp
WarpWarp
Warp
 
18 1 파이썬패키지
18 1 파이썬패키지18 1 파이썬패키지
18 1 파이썬패키지
 
xecon-phpfest2014composer
xecon-phpfest2014composerxecon-phpfest2014composer
xecon-phpfest2014composer
 
Python & Spark
Python & SparkPython & Spark
Python & Spark
 
Machine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AIMachine Learning Model Serving with Backend.AI
Machine Learning Model Serving with Backend.AI
 
Week2-3 review
Week2-3 reviewWeek2-3 review
Week2-3 review
 

More from Changwon National University

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdfChangwon National University
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능Changwon National University
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)Changwon National University
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)Changwon National University
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와selfChangwon National University
 

More from Changwon National University (20)

생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf생성인공지능둘러보기.pdf
생성인공지능둘러보기.pdf
 
2011 app center Changwon National Univ.
2011 app center Changwon National Univ.2011 app center Changwon National Univ.
2011 app center Changwon National Univ.
 
인공지능의 파도가 온다
인공지능의 파도가 온다인공지능의 파도가 온다
인공지능의 파도가 온다
 
Mobile Healthcare Application
Mobile Healthcare ApplicationMobile Healthcare Application
Mobile Healthcare Application
 
바다 즐기기
바다 즐기기바다 즐기기
바다 즐기기
 
알아두면 편리한 macOS 에디터 단축키와 기능
알아두면 편리한 macOS 에디터  단축키와 기능알아두면 편리한 macOS 에디터  단축키와 기능
알아두면 편리한 macOS 에디터 단축키와 기능
 
키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)키보드 기호의 이름 알아보기(한국어, 영어)
키보드 기호의 이름 알아보기(한국어, 영어)
 
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
AI 로봇 아티스트의 비밀(창원대학교 정보통신공학과 특강)
 
20 2 강의를 마치며
20 2 강의를 마치며20 2 강의를 마치며
20 2 강의를 마치며
 
20 1 코딩스타일
20 1 코딩스타일20 1 코딩스타일
20 1 코딩스타일
 
17 2 필터함수와 맵함수
17 2 필터함수와 맵함수17 2 필터함수와 맵함수
17 2 필터함수와 맵함수
 
16 1 상속과super()
16 1 상속과super()16 1 상속과super()
16 1 상속과super()
 
15 2 클래스정의와self
15 2 클래스정의와self15 2 클래스정의와self
15 2 클래스정의와self
 
14 4 슬라이싱
14 4 슬라이싱14 4 슬라이싱
14 4 슬라이싱
 
12 3 raise문
12 3 raise문12 3 raise문
12 3 raise문
 
12 1 예외처리(try-except)
12 1 예외처리(try-except)12 1 예외처리(try-except)
12 1 예외처리(try-except)
 
11 1 while반복문
11 1 while반복문11 1 while반복문
11 1 while반복문
 
10 2 튜플
10 2 튜플10 2 튜플
10 2 튜플
 
10 1 딕셔너리
10 1 딕셔너리10 1 딕셔너리
10 1 딕셔너리
 
09 1 날짜와시간모듈
09 1 날짜와시간모듈09 1 날짜와시간모듈
09 1 날짜와시간모듈
 

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,….