List
- 파이썬 날개달기
- 클래스(class)
- 모듈(module)
- 패키지(package)
- 예외처리(exception)
- 내장함수
- 라이브러리(library)
- 연습문제
.py로 만든 파이썬 파일은 모두 모듈이다.# mod1.py
def add(a, b):
return a + b
def sub(a, b):
return a-b
mod1.py 모듈을 만들어서 /Users/shinisgood/Documents에 저장import 모듈>>> import mod1
>>> print(mod1.add(3, 4))
7
>>> print(mod1.sub(4, 2))
2
from 모듈이름 import 모듈함수함수 이름만 쓰고 싶은 경우에 사용.mod1에서 add함수만 가지고 오기>>> from mod1 import add
>>> add(3, 4)
7
mod1에서 add와 sub 2가지 함수 가지고 오기from mod1 import add, sub
mod1에 있는 함수 전부 가지고 오기(import 뒤* 사용)from mod1 import *
결과를 출력하는 문장print()가 모듈파일.py에 들어있을 때 함수만 가지고 나올 수 있다.
mod1.py모듈파일을 직접 실행(run 활용) 시킬 때
# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
print(add(1, 4))
print(sub(4, 2))
5
2
mod1.py모듈파일을 import 로 실행 시킬 때 또한 값이 같이 출력됨import mod1
5
2
mod1모듈에서 add, sub함수만 꺼내서 사용하기 위해서 mod1 모듈에 if __name__ == "__main__” 추가해야한다# mod1.py
def add(a, b):
return a+b
def sub(a, b):
return a-b
if __name__ == "__main__": #
print(add(1, 4))
print(sub(4, 2))
>>> import mod1
__name__변수란 ?
- 파이썬의
__name__변수는 파이썬이 내부적으로 사용하는 특별한 변수 이름이다.
# mod2.py
PI = 3.141592
class Math:
def solv(self, r):
return PI * (r ** 2)
def add(a, b):
return a+b
import 모듈 -> print(모듈.변수)>>> import mod2 # import 모듈
>>> print(mod2.PI) # print(모듈.변수)
3.141592
import 모듈 -> print(모듈.클래스().함수()) >>> a = mod2.Math() # a = 모듈.클래스()
>>> print(a.solv(2)) # print(mod2.Math().solv(2))와 동일
12.566368
mod1.py를 doit디렉터리(파일)에 저장시켜라mod1.py의 위치 - /Users/SEUNGHOSHIN/Documents/doitimport sys 를 불러와라>>> import sys
sys.path를 통해 파이썬 라이브러리가 설치되어있는 디렉터리 확인>>> sys.path
['', '/Users/SEUNGHOSHIN/Documents', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages']
sys.path.append(“저장공간”)을 통해 모듈이 저장되어있는 디렉터리(다른파일)을 추가해주자>>> sys.path.append("/Users/SEUNGHOSHIN/Documents/doit")
>>> sys.path
['', '/Users/SEUNGHOSHIN/Documents', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python39.zip', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/lib-dynload', '/Library/Frameworks/Python.framework/Versions/3.9/lib/python3.9/site-packages', '/Users/SEUNGHOSHIN/Documents/doit']
>>> import mod1
>>> print(mod1.add(4, 5))
9