2023. 3. 15. 14:23ㆍ카테고리 없음
#09강 모듈 -- 함수가 선언되어있는 파이썬 파일
모듈이란?
* 모듈 구분 > 파이썬 모듈은 내부 모듈, 외부 모듈 그리고 사용자 모듈로 구분할 수 있다.
Q) random 모듈을 이용해서 1부터 10까지의 정수 중 난수 1개를 발생시켜 보자
import random
rNum = random.randint(1,10)
print(f'rNum: {rNum}')
Q) random 모듈을 이용해서 0부터 100사이의 난수 10개를 발생시켜보자.
import random
rNums = random.sample(range(1,101),10)
print(f'rNums: {rNums}')
결과는 리스트 형태로 출력
#10. 모듈 제작. 모듈은 파이썬 파일이다!
> 국어, 영어, 수학 점수를 입력하면 총점, 평균을 출력하는 모듈을 만들어보자.
# 모듈 생성 --> 모듈의 이름 scores
scores = []
def addScore(s):
scores.append(s)
def getScores():
return scores
def getTotalScore():
total = 0
for s in scores:
total += s
return total
def getAvgScore():
avg = getTotalScore() / len(scores)
return avg
# 모듈 없이 실행
korScore = int(input('국어 점수 입력:'))
engScore = int(input('영어 점수 입력:'))
matScore = int(input('수학 점수 입력:'))
addScore(korScore)
addScore(engScore)
addScore(matScore)
scores
# 12강. 실행(메인) 파일 지정하기
★★★전역변수 __name__을 이용한 실행파일 지정.
__name__ 이라는 변수는 파이썬에서 기본으로 제공해주는 변수
▶__name__에는 모듈이름이 저장되거나 '__main__'이 저장된다.
하지만 실행파일의 경우 아래와 같이 실행한다.
---> 실행(메일) 파일
파이썬 파일은 메인 메서드가 없기 때문에 어떤파일을 먼저 시작해야하는지 알 수 없다.
하지만 __name__이라는 전역변수에 자신의 파일명이 아닌 '__main__'이라는 실행파일이 저장되어 있는경우 출발점 프로그램의 실행파일이 된다.
__name__의 경우 기본적으로 파일명이 저장된다.
만약 addModule파일을 실행하면
print(f'__name__:{__name__}')은 __name__:__main__이 된다. 실행파일은 곧 '__main__'이다. 자기자신은 곧 실행파일
import addModule
import subModule
import mulModule
import divModule
print(addModule.add(10,20))
print(subModule.sub(10,20))
print(mulModule.mul(10,20))
print(divModule.div(10,20))
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))
#13강 실행(메인)파일 __02
전역변수 __name__을 이용한 실행파일 지정.
▶ 단위 환산 모듈을 만들고 cm를 mm, inch, m, ft로 변환해보자.
# 모듈 파일
def cm_mm(n):
return round(n * 10,3)
def cm_inch(n):
return round(n * 0.393, 3)
def cm_m(n):
return round(n * 0.01, 3)
def cm_ft(n):
return round(n * 0.032,3)
if __name__=='__main__':
print(f'10cm: {cm_mm(10)}mm')
print(f'10cm: {cm_inch(10)}inch')
print(f'10cm: {cm_m(10)}m')
print(f'10cm: {cm_ft(10)}ft')
# 실행 파일
import unitConversion as uc
inputNumber = int(input('길이(cm) 입력: '))
returnValue = uc.cm_mm(inputNumber)
print(f'returnValue: {returnValue}mm')
returnValue = uc.cm_inch(inputNumber)
print(f'returnValue: {returnValue}inch')
returnValue = uc.cm_m(inputNumber)
print(f'returnValue: {returnValue}m')
returnValue = uc.cm_ft(inputNumber)
print(f'returnValue: {returnValue}ft')
# 14강. 패키지 : 모듈을 묶어서 관리하자!
▼ package.py
from Calculator_int import addCal
from Calculator_int import subCal
from Calculator_int import mulCal
from Calculator_int import divCal
print(addCal.add(10,20))
print(subCal.sub(10,20))
print(mulCal.mul(10,20))
print(divCal.div(10,20))
from Calculator_float import addCal
from Calculator_float import subCal
from Calculator_float import mulCal
from Calculator_float import divCal
print(addCal.add(10,20))
print(subCal.sub(10,20))
print(mulCal.mul(10,20))
print(divCal.div(10,20))
# 15강. site-packages. 어디서나 접근 가능한 패키지를 만들자
지금까지 모듈을 만들고 패키징화 해보았다. 하지만 이러한 모듈은 실행파일과 같은 디렉토리에 있어야만한다.
--> 라이브러리 패키지 --> site-packages 로 옮겨서 실행하면 범용적으로 사용 가능하다.
# 16강. 자주 사용하는 모듈. 기본적으로 알아두면 좋은 모듈
#수학 관련 함수
import time
listVar = [2, 5, 3.14, 58, 10, 2]
print(f'sum(listVar) = {sum(listVar)}') #합
print(f'max(listVar) = {max(listVar)}') #최댓값
print(f'min(listVar) = {min(listVar)}') #최솟값
print(f'pow(13,4) = {pow(13,4)}') #거듭제곱
print(f'{round(3.141592,4)}') #반올림
import math
print(f'math.fabs(-10): {math.fabs(-10)}') # 절댓값
print(f'math.ceil(5.21): {math.ceil(5.21)}') # 올림
print(f'math.floor(5.21): {math.floor(-5.21)}') # 내림
print(f'math.trunc(5.21): {math.trunc(-5.21)}') # 버림
print(f'math.gcd(14,21): {math.gcd(14,21)}') # 최대공약수
print(f'math.factorial(10): {math.factorial(10)}') #팩토리얼
print(f'math.sqrt(4): {math.sqrt(4)}') #제곱근