공부와 기억과 경험은 반복의 연속과정임
아무리 반복해도 지나치지 않기에
파이썬의 코드 형태 구조에 대해
다시 언급함
변수 >> 함수 >> 클래스 >> 모듈 >> 패키지
패키지로 갈 수록 큰 형태임
모듈의 사전적인 뜻은 '부분' '구성단위' 등 일부분을 뜻하고
파이썬에서는 함수 클래스를 모아 놓아 놓은 파일임
모듈은 파이썬이 구현된 .py 파일이 결과물임
.py에는 클래스와 함수가 선택적으로 구성될 수 있음
#modoopython.py
class calculator():
def add(self,input1,input2):
print(input1+input2)
def minus(input1,input2):
print(input1 - input2)
'''
import modoopython
modoopython.minus(3,2)
mc = modoopython.calculator()
mc.add(3,2)
'''
-결과(이미지)
modoopython.py에는 클래스와 함수가 각각 1개씩 구성됨
modoopython.py가 있는 D:\tmp 폴더로 가서 파이썬 실행함
그 이유는 D:\tmp가 전역경로(global path)가 아니어서 파이썬에서
인식을 못함
파이써을 실행하고 .py를 생략한 파일 이름을 import뒤에 입력
파이썬에서 파일이 존재하면 import가 됨
함수를 사용할때는 주피터 노트북에서도 함수명을 입력하면
바로 수행됨
이와 같이 모듈에서도 함수사용은 모듈명과 '.'을 붙이고
함수명을 사용하면 됨
클래스를 사용할때는 객체를 선언해 줘야하므로
mc = modoopython.calculator()의 형태로 객체 선언후
클래스 활용과 동일하게 사용하면 됨
모듈명 뒤에 붙이는 점은 하위구조로 연결한다고
이해하면 됨
모듈이 최상단이고 그 아래에 클래스와 함수가 각각 있음
이것은 클래스를 사용할 때도 마찬가지였음
함수를 사용(호출)하려면 '객체.함수명'을 사용해야함
D:\tmp를 전역경로로 사용하여 어디서든 모듈을 사용하려면
내장모듈 sys를 사용하여 전역경로로 설정할 수 있음
코드 실행은 jupyter notebook 환경에서 진행함
import sys
sys.path.append('D:\\tmp\\')
import modoopython ## D:\tmp\modoopython.py 파일이 존재함
modoopython.minus(3,2)
mc = modoopython.calculator() ##객체 선언
mc.add(3,2)
-결과 (드래그로 확인가능)
1
5
sys.path.append('경로') 를 입력하여
전역경로로 설정가능함
모듈명을 사용하지 않고 함수명만 사용할 수도 있음
import sys
sys.path.append('D:\\tmp\\')
from modoopython import minus, calculator ## D:\tmp\modoopython.py 파일이 존재함
minus(3,2)
mc = calculator()
mc.add(3,2)
-결과 (드래그로 확인가능)
1
5
from '모듈이름' import '함수이름' , '클래스이름'
선언하면 모듈이름은 한번만 사용하여
함수와 클래스를 짧게 사용가능함
모듈을 구현하는 목적은 자동화된 틀을 만들어
지속적으로 사용하기 위함임
그럴려면 코드를 완료한 후에 테스트를 하면서
자연스럽게 클래스나 함수를 코드내 호출하게됨
#modoopython.py
class calculator():
def add(self,input1,input2):
print(input1+input2)
def minus(input1,input2):
print(input1 - input2)
minus(3,2)
cc = calculator()
cc.add(3,2)
import sys
sys.path.append('D:\\tmp\\')
import modoopython ## D:\tmp\modoopython.py 파일이 존재함
-결과 (드래그로 확인가능)
1
5
모듈을 선언(import modoopython)만 했는데
함수와 클래스가 사용되는 상황이 발생함
.py(모듈)를 구현할 때 함수와 클래스가 수행되게구현했기 때문
메인 프로그램으로 사용되었는지 모듈로 사용되었는지
구분해주는 것이 필요함
#modoopython.py
class calculator():
def add(self,input1,input2):
print(input1+input2)
def minus(input1,input2):
print(input1 - input2)
print(__name__)
print(__name__ == "__main__")
if __name__ == "__main__": #<<-- 구분해주는 if문
minus(3,2)
cc = calculator()
cc.add(3,2)
import sys
sys.path.append('D:\\tmp\\')
import modoopython ## D:\tmp\modoopython.py 파일이 존재함
-결과 (드래그로 확인가능)
modoopython
False
메인프로그램으로 사용될때는
__name__이 "__main__" 이 되고
모듈로 사용될때는 __name__이 모듈명인 modoopython이 됨
모듈로 사용했기 때문에 __name__은 모듈명(modoopython)이 됨
그래서 __name__ == "__main__"은 False가 됨
modoopython.py를 메인 프로그램으로 수행되어
__name__은 "__main__" 이 됨을 print문으로 확인됨
__name__ == "__main__"이 True가 되어
클래스와 함수가 수행됨
태그
-------------------------------------------------------------
#python, #파이썬, #anaconda, #아나콘다, #기초, #클래스, #class, #import, #selenium, #셀레늄, #자동, #교육, #코딩교육, #coding, #chatgpt, #챗GPT, #로봇,
'파이썬따라하기 > 5클래스모듈패키지' 카테고리의 다른 글
#클래스모듈패키지3편 - 파이썬 패키지 기초 python (39) | 2023.05.07 |
---|---|
#클래스모듈패키지1편 - 파이썬 클래스 기초 python (9) | 2023.05.06 |