본문 바로가기
개발일지/Python

2022.02.11 파이썬정복 16장 모듈과 패키지

by 개발에정착하고싶다 2022. 2. 11.
320x100
# 16장 모듈과 패키지

# 16.1 모듈


'''
import util
INCH = 2.54

def calcsum(n):
    sum = 0
    for num in range(n+1):
        sum+=sum
    return sum

print("1inch=",util.INCH)
print("10까지의 숫자 = ",util.calcsum(10))

'''

'''
from util import *
print("1inch = ",INCH)
print("10까지의 숫자 = ",calcsum(10))
'''


# 테스트 코드
'''

INCH = 2.54

def calcsum(n):
    sum=0
    for num in range(n+1):
        sum +=num
    return sum

print("인치 =",INCH)
print("합계 =",calcsum(10))
'''

'''
INCH = 2.54

def calcsum(n):
    sum = 0
    for num in range(n+1):
        sum +=num
    return sum

if __name__ == "__main__": # 여긴 당췌 근본적으로 어떤 용도인지 잘 모르겠다.
    print("인치 =",INCH)
    print("합계=",calcsum(10))
'''
# 위의 if 문에 관해선 이렇게 설명이 되어있다.
# __name__ 변수는 실행중인 모듈의 이름인데, 단독으로 실행 할 때는 "__main__"이고
# 다른 모듈에서 임포트하여 사용할때는 모듈 자신의 이름인 "util2"가 된다.
# __name__이 "__main__"이라는 조건문은 단독으로 실행되고 있을 때를 의미하는데 직접 실행할 때만
# 이 코드를 실행하고 임포트 될 때는 건너뛰라는 뜻이다.
# 이 모듈을 사용하는 테스트 모듈을 작성 해보자.

'''
import util2

print("1inch = ",util2.INCH)
print("10까지 = ",util2.calcsum(10))
'''
# 이또한 어떤 실행을 바라고 쓰여진 코드는 아닌것같다.
# 모르겠다. 그냥
# 전체적으로 훑어보니, 스스로 특정경로에 파일을 만들고 실행하길 바랬던 것같다.


# 모듈 경로

'''
Trackback (most recent call last):
'''
#    File "C:\PyStudy\utiltest2.py", line1, in <module>
#        import util2
# ModuleNotFoundError : No module named"util2"
'''
# 당연하게도 여기 폴더에 넣어진게 없기 때문에 되는건 없다
'''

'''
import sys
sys.path.append("C:\\Temp") # path는 경로 관련 기능이다.
import util2
print("1 inch =",util2.INCH)
print("10까지의 수를 더하고",util2.calcsum(10))
'''

# 16.2 패키지
'''
import sys
sys.path.append("C:/PyStudy")

import mypack.calc.add
mypack.calc.add.outadd(1,2) # 음... 예제에서도 딱히 언급이 없어서 안만들긴 했는데 outadd가 없어도 작동하는건가?

import mypack.report.table
mypack.report.table.ou0treport()  # 음... 예제에서도 딱히 언급이 없어서 안만들긴 했는데 outreport가 없어도 작동하는건가?
'''

# __init__.py
'''
import sys
sys.path.append("C:/PyStudy")

from mypack.calc import *
add.outadd(1,2)
multi.outmulti(1,2)
'''

# pip
'''
import wx

app = wx.App()
frame = wx.Frame(None,0,"파이썬 만세")

frame.Show(True)
app.MainLoop()
'''

'''
이번장도 역시 불친절함의 끝판이였다.
특히나 pip를 하면서 느낀건데 어디에 입력하는지 알려줄 생각도 안한다.
뭐 다른곳에서 미리 배웠던거라 익숙하게 할 수 있었지만
그렇지 않은사람은 pip나오는순간 책 찢어버렸을 것이다.

두번째로는 어쩔 수없는거라고는 하지만 아쉬운부분이
날씨 api따와서 구현해보는것이다.
나의 경우엔 rss페이지를 못찾겠어서 하질 못했다.
사이트가 예시에 나온 모습과는 많이 달라져있었다.

이책. 절대 추천 안한다. 장담컨데.
도서관에서 빌려보는것이고, 설명없는 부분은
버리면서 본다는 생각으로 본다면 나쁘지 않다.
별점은 5개중에 2~3개 정도 수준이라고 생각한다.
'''
300x250