import, from, as 키워드를 이용한다.
import calculator as cal
cal.add(10, 20)
cal.sub(10, 20)
cal.mul(10, 20)
cal.div(10, 20)
from calculator import add
from calculator import sub
# 또는
from calculator import add, sub
add(10, 20)
sub(10, 20)
-->
덧셈 결과: 30
뺼셈 결과: -10
from calculator import *
add(10, 20)
sub(10, 20)
mul(10, 20)
div(10, 20)
# work.py
scores = [] # 모듈
def addScore(s): #리스트에 추가
scores.append(s) # ?
def getScore(): #다시 가져옴
return scores
def getTotalScore(): #저장된 값들의 합을 구하는
total = 0
for s in scores:
total += s
return total
def getAvgScore(): #저장된 값들의 평균 구하는
avg = getTotalScore() / len(scores) # ?
return avg
--
# work.module.py
import work as sc
korScore = int(input('국어 점수 입력: '))
engScore = int(input('영어 점수 입력: '))
matScore = int(input('수학 점수 입력: '))
sc.addScore(korScore)
sc.addScore(engScore)
sc.addScore(matScore)
print(sc.getScore())
print(sc.getTotalScore())
print(sc.getAvgScore())
-->
국어 점수 입력: 100
영어 점수 입력: 90
수학 점수 입력: 80
[100, 90, 80]
270
90.0
전역변수 _ name _ 을 이용한 실행파일 지정
# module.py
import addModule
import subModule
import mulModule
import divModule
def mod(n1, n2):
return n1 % n2
if __name__ == '__main__':
print(addModule.add(10, 20))
print(subModule.sub(10, 20))
print(mulModule.mul(10, 20))
print(divModule.div(10, 20))
전역변수 name을 이용한 실행파일 지정.
# unitConversion.py
def cmToMm(n):
return round(n * 10, 3)
def cmToInch(n):
return round(n * 0.393, 3)
def cmToM(n):
return round(n * 0.01, 3)
def cmToFt(n):
return round(n * 0.032, 3)
if __name__ == '__main__':
print(f'10cm: {cmToMm(10)}mm')
print(f'10cm: {cmToInch(10)}inch')
print(f'10cm: {cmToM(10)}m')
print(f'10cm: {cmToFt(10)}ft')
--
# module.py
import unitConversion as uc
if __name__ == '__main__':
inputNumber = int(input('길이(cm) 입력: '))
returnValue = uc.cmToMm(inputNumber)
print(f'returnValue: {returnValue}mm')
returnValue = uc.cmToInch(inputNumber)
print(f'returnValue: {returnValue}inch')
returnValue = uc.cmToM(inputNumber)
print(f'returnValue: {returnValue}m')
returnValue = uc.cmToFt(inputNumber)
print(f'returnValue: {returnValue}ft')
모듈을 묶어서 관리하자
from calculatorForInt import addCal
from calculatorForInt import subCal
from calculatorForInt import mulCal
from calculatorForInt import divCal
print(addCal.add(10, 20))
print(subCal.sub(10, 20))
print(mulCal.mul(10, 20))
print(divCal.div(10, 20))
from calculatorForFloat import addCal
from calculatorForFloat import subCal
from calculatorForFloat import mulCal
from calculatorForFloat import divCal
print(addCal.add(10, 20))
print(subCal.sub(10, 20))
print(mulCal.mul(10, 20))
print(divCal.div(10, 20))
어디서나 접근가능한 패키지를 만들자!
import sys #시스템에 대한 간략한 정보를 갖고 있는 모듈
for path in sys.path: #경로 나열 값을 가진 모듈
print(path)
-->
C:\Users\User\Desktop\python_ex\5_015
C:\Users\User\Desktop\python_ex
C:\Users\User\AppData\Local\Programs\Python\Python311\python311.zip
C:\Users\User\AppData\Local\Programs\Python\Python311\DLLs
C:\Users\User\AppData\Local\Programs\Python\Python311\Lib
C:\Users\User\AppData\Local\Programs\Python\Python311
C:\Users\User\Desktop\python_ex\venv
C:\Users\User\Desktop\python_ex\venv\Lib\site-packages
vertual environment
파이참 에서는 가상환경을 만들어서 작업가능
3.7과 3.9 버전의 차이가 있을 때, 서로 영향주고받지 않고 독립적으로 작업함.
라이브러리등 프로젝트마다 특이한 환경을 가상환경으로 구현해서 사용가능
가상환경구현하는게 venv
한 모듈을 범용적으로 쓰려면 venv - lib - sitepackages에 옮기면 됨