빠르게 활용하는 파이썬3 프로그래밍 Chapter 6. 모듈.

Slides:



Advertisements
Similar presentations
Python Essential 세미나 1 CGI 프로그램 작성법 발표자 : 박승기 ( 수 )
Advertisements

ⓒ 2015 NHN Entertainment Corp. Django 로 만드는 초간단 블로그 시스템운영팀 김영태 개발환경 구축.
프로그래밍언어론 TA 윤들녁. 소개 윤들녁 연락처 : 공대 7 호관 4 층 401 호 데이터베이스 연구실 실습 후 날짜 _ 학번.zip 으로.
출석수업 과제 – 총 5문제, 10월 25일 제출 정보통계학과 장영재 교수.
Format String Attack! 포맷 스트링 공격 경일대학교 사이버보안학과 학년 남주호.
컴퓨터와 인터넷.
컴퓨터프로그래밍 1주차실습자료 Visual Studio 2005 사용법 익히기.
김태원 심재일 김상래 강신택. 김태원 심재일 김상래 강신택 인터넷 통신망의 정보를 제공하는 서비스 인터넷의 자원 및 정보는 NIC가 관리 IP주소 또는 도메인으로 정보 검색 이용자 및 통신망 관한 정보를 제공.
Image & Video processing
제14장 동적 메모리.
Power Java 제3장 이클립스 사용하기.
MYSQL 설치.
Python(파이썬) 하늘소 20기 서 정인.
연결리스트(linked list).
제 9 장 구조체와 공용체.
Power Java 제2장 자바 개발 도구.
(개정판) 뇌를 자극하는 Red Hat Fedora 리눅스 서버 & 네트워크
나민영 서경대학교 컴퓨터공학과 CGVR Lab 같이만들어보자 5주차 OpenCV 설정 및 기초.
Unix Project2 <test character device 생성>
Ubiquitous Computing Practice - Part I (Installation) -
8.1 인터페이스 개요와 인터페이스 정의 8.2 인터페이스의 사용 8.3 인터페이스의 상속 8.4 인터페이스 참조
쉽게 풀어쓴 C언어 Express 제17장 동적메모리와 연결리스트 C Express Slide 1 (of 13)
10장 함수.
4장. 웹로직 서버상에서의 JDBC와 JTA의 운용
임베디드 시스템 개론 크로스 플랫폼 설치 2일차 강의 자료 Embedded System Lab.
Java 기초 (Java JDK 설치 및 환경설정)
CHAPTER 02 OpenCV 개요 PART 01 영상 처리 개요 및 OpenCV 소개.
Root Filesystem Porting
C / C++ Programming in multi platform
11장. 포인터 01_ 포인터의 기본 02_ 포인터와 Const.
FTP 프로그램 채계화 박재은 박수민.
SqlParameter 클래스 선문 비트 18기 발표자 : 박성한.
컴퓨터 프로그래밍 기초 #02 : printf(), scanf()
Root Filesystem Porting
                              데이터베이스 프로그래밍 (소프트웨어 개발 트랙)                               퍼스널 오라클 9i 인스톨.
Linux Master 김희승 임승한 OneScore 임승한.
HW #4 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
WinCE Device Driver 실습 #2
공학컴퓨터프로그래밍 Python 염익준 교수.
C#.
[INA470] Java Programming Youn-Hee Han
사용자 함수 사용하기 함수 함수 정의 프로그램에서 특정한 기능을 수행하도록 만든 하나의 단위 작업
27장. 모듈화 프로그래밍.
Device Driver 임베디드 시스템 I.
HW #4 UNIX 파일과 디렉토리 1. 자신의 HOME 디렉토리 아래에 다음과 같은 구조의 디렉토리 및 파일을 생성하고, 이 구조를 다음 명령을 사용하여 파일로 저장한 후, 이를 프린트하여 제출한다. $ ls –lR linux_unix > hw4-1 $HOME linux_unix.
HTTP 프로토콜의 요청과 응답 동작을 이해한다. 서블릿 및 JSP 를 알아보고 역할을 이해한다.
Day-27(Tue_10.16) 파일 서비스 설정 AD 가 설치된 환경에서 DHCP 설치 할 경우 권한 자격을 주어야함.
Chapter6 : JVM과 메모리 6.1 JVM의 구조와 메모리 모델 6.2 프로그램 실행과 메모리 6.3 객체생성과 메모리
웹디자인
Eclipse CDT에서 프로젝트를 Export 하고 Import 하는 방법
자바 5.0 프로그래밍.
빌드 성공.
Python 및 OpenCV 설치.
S-Work 2.0 DRM 신규 버전 설치 가이드 SOFTCAMP
네트워크 환경 구축과 이미지 전송 호스트/타겟 통신 직렬 통신을 이용한 이미지 전송 수퍼 데몬 BOOTP 환경 구축
Canary value 스택 가드(Stack Guard).
OpenCV 설정 2.21 만든이 딩딩.
암호학 응용 Applied cryptography
시스템 인터페이스 Lab#5 쉡 실습.
STS 또는 Eclipse 에서 프로젝트를 Export 하고 Import 하는 방법
05. General Linear List – Homework
 파일 아카이브와 압축 명령 익히기.
01. 분산 파일 시스템의 개요 네트워크에 분산된 파일을 사용자가 쉽게 접근하고 관리할 수 있게 해준다.
함수, 모듈.
Numerical Analysis Programming using NRs
과제 4: Thread (5월 9일까지) 4장 연습문제 풀이
CHAP 15. 데이터 스토리지.
 6장. SQL 쿼리.
7 생성자 함수.
Presentation transcript:

빠르게 활용하는 파이썬3 프로그래밍 Chapter 6. 모듈

모듈 여러 코드를 한데 묶어 다른 곳에서 재사용할 수 있는 코드 모음 모듈 사용하기 모듈 만들기 모듈의 경로 모듈 임포트 모듈 임포트 파헤치기 유용한 팁 패키지

모듈 사용하기 현재 파이썬 3.0 버전에서는 대략 200개가 넘는 모듈을 지원 간단하게 모듈을 사용 할 수 있음 문자열(string), 날짜(date), 시간(time), 십진법(decimal), 랜덤(random) 파일(file), os, sqlite3, sys, xml, email, http 등등 간단하게 모듈을 사용 할 수 있음 모듈을 사용하는 이유 코드의 재 사용성 코드를 이름공간으로 구분하고 관리 할 수 있음. 복잡하고 어려운 기능을 포함하는 프로그램을 간단하게 만들 수 있다.

모듈 import import : 모듈을 현재 이름공간으로 가져오는 역할 math 모듈은 삼각함수, 제곱근, 로그함수 등 수학과 관련된 기능이 들어 있는 내장 모듈. dir() 함수를 이용해 모듈에 어떠한 함수 혹은 데이터가 들어 있는지 알 수 있다. >>> import math >>> math.pow(2, 10) 1024.0 >>> math.pi 3.1415926535897931 >>> dir(math) ['__doc__', '__name__', '__package__', 'acos', 'acosh', 'asin', 'asinh‘,'atan', 'atan2', 'atanh', 'ceil', 'copysign', 'cos', 'cosh‘, …

간단한 FTP 프로그램 FTP로 서버에 접근해 파일 리스트를 가져오는 프로그램. >>> from ftplib import FTP >>> ftp = FTP('ftp.cwi.nl') >>> ftp.login() '230 Login successful.' >>> ftp.retrlines('LIST') drwxrwsr-x 2 ftp ftp 512 Jan 15 2001 DIENST drwxr-xr-x 2 ftp ftp 512 Nov 16 2004 incoming -rw-r--r-- 1 ftp ftp 1810 Jul 05 2004 incoming.readme lrwxrwxrwx 1 ftp ftp 1 Nov 14 2004 people -> . dr-xr-xr-x 75 ftp ftp 1536 Feb 04 07:16 pub drwxrwsr-x 10 ftp ftp 512 Nov 09 2001 sigchi -r--r--r-- 1 ftp ftp 2195 May 30 1995 welcome.msg '226 Directory send OK.' >>>ftp.quit() '221 Goodbye.'

모듈 만들기 사용자가 직접 모듈을 만들 수 있다. 큰 프로젝트의 경우 모듈 단위로 일을 진행 하기도 함. 모듈은 일반적으로 <모듈이름>.py 으로 지정합니다.

simpleset 모듈 만들기 텍스트 에디터를 이용해 교집합, 차집합, 합집합 함수를 만듭시다. simpleset.py 이름으로 저장하고 simpleset.py를 파이썬 라이브러리 디렉터리에 옮깁니다. import 명령을 이용해 simpleset 모듈을 가지고 옵니다. >>> import simpleset 합집합 구하기 >>> setA = [1, 3, 7, 10] >>> setB = [2, 3, 4, 9] >>> simpleset.union(setA, setB) [1, 3, 7, 10, 2, 4, 9]

모듈의 경로 모듈을 임포트 했을 때 모듈의 위치를 검색하는 경로 모듈의 경로 밖의 모듈은 임포트 할 수 없음 sys.path 에 저장되어 있는 디렉토리를 검색한다. 모듈의 경로 밖의 모듈은 임포트 할 수 없음 모듈 경로 탐색 순서. 프로그램이 실행된 디렉터리 PYTHONPATH 환경 변수에 등록된 위치 표준 라이브러리 디렉터리

모듈 임포트 모듈 안의 어트리뷰트 (함수, 데이터)들을 사용하려면 임포트를 해야 한다. Import 구문은 어디에서나 사용 가능 하다. 함수, 제어문 내부에서도 import를 할 수 있다. Import <모듈이름> 기본적인 임포트 방법 모듈.이름 형식으로 모듈 안의 데이터나 함수를 사용 할 수 있다. 모듈은 임포트 하는 방법은 import 모듈이름 방법 이외에도 다른 방법이 있다.

모듈 임포트 방법 from <모듈> import <어트리뷰트> >>> from simpleset import union >>> union([1, 2, 3], [3], [3, 4]) [1, 2, 3, 4] from <모듈> import * import <모듈> as <별칭> <모듈> 이름을 <별칭>으로 변경하여 임포트합니다.

모듈 임포트 파헤치기 임포트를 할 때, 해당 모듈의 바이트 코드가 있으면 이를 임포트 한다. 모듈을 임포트 하면 해당 모듈의 코드가 실행된다. 모듈이 임포트되면 메모리에 모듈 코드가 로딩되면 프로그램이나 파이썬 인터프리터가 끝나기 전까지 변경되지 않는다.

바이트 코드 일종의 중간 파일 모듈의 임포트를 빠르게 해주는 역할 바이트 코드가 이미 있으면 : 모듈을 인터프리팅(Interpreting) 하지 않고 바로 바이트 코드 로딩 바이트 코드가 없으면 : 모듈을 인터프리팅 해서 바이크 코드를 생성 바이트 코드가 생성된 모습

모듈이 메모리에 로딩 될 때 모듈의 코드가 실행 됨 처음 임포트 할 때 “print” 구문이 실행된다. 한 번 메모리에 로딩된 모듈은 끝나기 전 까지 변하지 않는다.

유용한 팁 모듈이 직접 실행 혹은 다른 곳에서 임포트 되었는지를 구분 해 줄 수 있는 __name__ 어트리뷰트 모듈이 직접 실행 되었을 때 __name__은 “__main__”

패키지 모듈의 모음 파이썬의 모듈 이름공간을 구조화 하는 한 방법 파이썬 내장 라이브러리 중 XML 패키지의 디렉터리 구조

감사합니다.