1 life 2 live
파이썬 기초 프로그래밍(10) - 모듈 프로그래밍 [20.7.30] 본문
1. 모듈 개요
■ 함수의 필요성?
º 동일/유사한 패턴의 코드를 함수로 선언
º 함수의 동작이 필요한 곳에서 함수 호출을 통해 해당 동작 활용!
º 즉, 유사 동작이 필요 할 때마다 동일한 코드를 작성할 필요 없음
■ 특정 파일 안에 선언된 함수!
º 해당 파일 안에서는 언제든지 선언한 함수를 호출하여 사용 가능!
■ 만약 서로 다른 파일에서 동일한 함수가 필요하다면?
º my_sum() 함수의 동작이 두 개의 서로 다른 과제에서 필요하다면?
■ my_sum()의 기능을 위하여 각 파일에 동일한 함수 선언?
■ my_sum() 기능이 필요하면 모든 파일에서 동일한 함수를 매번 선언해서 사용해야만 하는가?
■함수는 한 번만 작성하고 함수의 기능이 필요하면 호출하여 사용하자!
º 함수가 선언된 파일 뿐만 아니라,
º 다른 파이썬 프로그램에서도 사용 할 수 있도록 하려면?
■ 모듈
º 함수나 변수 또는 클래스 들을 모아 놓은 파일!
º 다른 파이썬 파일에서 모듈을 불러들여 사용 할 수 있다!
■ 모듈 흐름
2. 모듈 불러오기
■ import 구문
º 호출방법: import <모듈명>
º 모듈을 불러오기 위한 구문
º 예) import random
■ 다시, 모듈이란?
º 함수나 변수 또는 클래스 들을 모아 놓은 파일!
º 우리가 지금까지 하던 것과 다를바 없지 않은가?
■ sum_module.py 파일 생성
º my_sum() 함수 선언
■ sum_module 불러오기
º test.py에서 import sum_module 선언
º 모듈명은 파이썬 파일 이름에서 .py를 제외하면 됨!
3. 모듈 시작점 분기
■ 모듈 시작의 원인 알려주기
º 메인 프로그램으로서 시작 된 것인지?
º 다른 프로그램에 의하여 로딩(불러오기) 된 것인지?
■ __name__ 변수 사용하기
º 모듈이 시작된 원인에 따라 저장되는 값이 달라진다!
º 메인 프로그램으로서 시작되면?
• __name__에는 “__main__”이 저장 됨
• 일반적인 코드 진행부분이 정상적으로 실행되어야 함
º 모듈 import에 의하여 불려졌다면?
• __name__에는 모듈의 이름이 저장 됨
• 일반적인 코드 진행 부분이 실행되면 안됨
■ __name__ 를 활용한 모듈 구성
■ 모듈에 복수개의 함수 선언하기
º 일반적인 함수 선언과 전혀 다를 바 없음!
■ 모듈에 복수개의 함수 호출하기
º 모듈명.모듈함수()의 형태로 호출!
■ from 모듈 import 함수 구문
º 모듈명을 생략하고 함수 이름만으로 호출 할 수 있음!
■ from 모듈 import * 구문
º 모듈의 모든 함수를 불러오기 위한 구문
4. 모듈 위치
■ 어디에 위치한 모듈이 import 될 수 있는가?
º 파이썬은 아래 위치에서 모듈을 찾는다!
1. 현재 디렉토리
2. 환경변수 PYTHONPATH에 지정된 경로
3. Python이 설치된 경로 및 그 밑의 라이브러리 경로
4. 없으면 에러!
■ sys.path
º 모듈을 찾기 위한 경로가 저장되는 변수
º sys 모듈의 path 변수
• sys.path는 리스트 메소드들을 이용하여 직접 수정 할 수 있음
■ 현재 프로그램의 모듈 검색 경로 출력
■ C:\를 모듈 검색 경로에 추가하기
º 현재 폴더의 sub_module.py를 c:\로 이동!
5. 다양한 모듈
■ os: os 자원과 관련된 기능
■ time: 시간 관련 기능
■ calendar: 달력 관련 기능
■ random: 난수 발생 기능
■ sys: 파이썬 인터프리터 관련 기능
■ pickle: 데이터 저장/로드 기능
6. 정리
■ 모듈
º 기본 연산 및 인덱싱/슬라이싱이 가능
º 리스트 메소드들을 활용하여 효율적인 프로그래밍 가능!
'파이썬' 카테고리의 다른 글
파이썬 주피터 노트북 설치 방법 정리 [22.4.1] (0) | 2022.04.01 |
---|---|
파이썬 기초 프로그래밍(11) - GUI 개발환경 구축 (PyQt5 설치) [20.7.30] (0) | 2020.07.31 |
파이썬 기초 프로그래밍(9-2) - 파일 예외 처리 [20.7.29] (0) | 2020.07.29 |
파이썬 기초 프로그래밍(9-1) - 파일처리 [20.7.28] (0) | 2020.07.28 |
파이썬 기초 프로그래밍(8-2) - 함수(지역변수, 전역변수) [20.7.27] (0) | 2020.07.27 |