#난수 모듈1
import random
rNum = random.randint(1,10)
print(f'rNum :{rNum}')
#난수 모듈2
import random
rNums = random.sample(range(1,100), 10)
print(f'rNum :{rNums}')
#모듈파일: 문자뒤집기
def reverseStr(str):
reversedString = ''
for c in str:
reversedString = c + reversedString
return reversedString
#실행파일
import reverse_input
userInputStr = input('문자열 입력: ')
reversedString = reverse_input.reverseStr(userInputStr)
print(f'reversedString: {reversedString}')
: as 키워드를 이용해서 모듈 이름을 단축 시킬 수 있음.
import reverse_input as rev
userInputStr = input('문자열 입력: ')
reversedString = rev.reverseStr(userInputStr)
print(f'reversedString: {reversedString}')
#calculator 모듈파일
def add(n1,n2):
print(f'덧셈 결과: {n1 + n2 }')
def sub(n1,n2):
print(f'뺄셈 결과: {n1 - n2 }')
def mul(n1,n2):
print(f'곱셈 결과: {n1 * n2 }')
def div(n1,n2):
print(f'나눗셈 결과: {round(n1 / n2 ,2) }')
#실행파일(
from calculator import add,sub
add(10,20)
sub(10,20)
fro caclulator import *
add(10,20)
sub(10,20)
mul(10,20)
div(10,20)



:모든 파일은 상황에 따라 모듈 혹은 실행파일로 작용할 수 있음.
a. 모듈파일 경우 -> 모듈 이름으로 저장 (실행파일에서 볼때)
#ex: name ='subModule'
b. 실행파일의 경우 -> main으로 저장
#실제로 모듈을 실행하는 '실행파일'의 경우 name = main
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')
: 패키지를 이용하면 관련 있는 모듈을 그룹으로 관리 할 수 있음.

: site-package에 있는 모듈은 범용 모듈로 어디에서나 사용 가능,독립적 환경세팅이 가능.
(가령, 독립적이지 못하면 파이썬 버전에 따라서 라이브러리,파일등이 부딪혀 에러발생 가능) !