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