DevSSOM

파이썬 기초 - 모듈 본문

Python/기초

파이썬 기초 - 모듈

데브쏨 2021. 6. 8. 21:49
반응형

모듈

: 특정 목적을 가진 함수, 자료의 모임

 

프로그래밍을 하면서 코드의 길이가 길어지는 상황이 있을 수 있어. 이때, 모든 함수와 변수를 한 줄 한 줄 구현하는 것은 불가능에 가까워. 이 시간을 단축시키고 코드를 효율적으로 관리하기 위해서 모듈을 써. 누군가 미리 만들어놓은 함수와 변수들의 묶음을 가져다가 활용하는거야. 

 

모듈 사용하기

1. 모듈 불러오기

    : import(불러오다) 키워드를 이용해서 모듈 사용.

import random
# random 모듈 불러오기

2. 모듈 사용법 확인하기

    : 모듈 속 사용하려는 함수/변수의 사용법 확인. 예를 들어, 함수의 경우 어떤 인자가 있는지, 반환값은 무엇인지, 변수인 경우엔 무슨 자료형인지 등 어떻게 사용해야되는지를 확인해야 돼.

random.randrange(start, stop[, step])
	Return a randomly selected element from range(start, stop, step).
# 이렇게 써있으면
# 이 함수는 start와 stop 두개의 인자를 가지고 있고
# range(start, stop) 중의 한 원소를 가지고 온다고 알려주는 것

3. 모듈 사용하기

    : .(점)을 쓴 후에 모듈 속 함수/변수 사용

import random

print(random.randrange(0, 2))
# 0 이상 2 미만 수 중 랜덤으로 출력

 

모듈 만들기

우리가 원하는 내용이 담긴 모듈도 제작 가능. .py(파이썬 파일)로 만들 수 있어.

 

1. py파일을 생성 후, 함수와 변수를 만들어.

# cal.py
def plus(a, b):
	c = a + b
    return c

 

2. 원래 코드를 실행하던 파일에서 import로 모듈을 불러와서 쓰는거야.

# main.py
import cal  # cal 모듈을 불러오면
print(cal.plus(3,4)) # cal 함수를 이렇게 쓸 수 있어
# 결과값으로 7 출력

 

모듈 활용하기

math : 수학 연산을 도와주는 모듈

  • math.pi : 무리수 π(3.14)가 담긴 변수
  • math.e : 무리수 e(2.71)가 담긴 변수
import math
print(math.pi)  # 3.141592...
print(math.e)   # 2.718281...

 

random : 무작위로 숫자를 선택해 주는 함수들이 담긴 모듈

  • random.randrange(a, b) : a 이상 b 미만의 수 중 하나를 반환하는 함수
import random
print(random.randrange(1, 11))
# 1부터 10까지의 숫자 중 하나를 출력

 

time : 시간 데이터 관련 모듈

  • time.ctime() : "요일 월 일 시간 년" 순으로 현재 시간을 문자열로 반환해주는 함수

 

 

 

연습문제 1

1. cal.py 파일을 열고, a,b를 인자로 갖는 함수 plus, minus를 정의해봐.

  • plus : a+b를 반환하는 함수
  • minus : a-b를 반환하는 함수

2. cal.py 파일에서 변수 modelName을 만들고 "SSOM"을 대입해봐.

3. main.py 파일을 열고, import cal을 이용해 저장된 모듈 cal을 불러와.

4. 변수 var1에 모듈 cal의 모델이름(modelName)을 넣어봐.

5. 변수 var2에 모듈 cal의 plus 함수를 이용해서 3+4의 값을 넣어봐.

6. 변수 var3에 모듈 cal의 minus 함수를 이용해서 7-2의 값을 넣어봐.

7. var1, var2, var3의 값을 출력하여 확인해봐.

# cal.py
def plus(a, b):
    return a + b

def minus(a, b):
    return a - b

modelName = "SSOM"
# main.py
import cal
var1 = cal.modelName
var2 = cal.plus(3, 4)
var3 = cal.minus(7, 2)

print(var1, var2, var3)
# SSOM 7 5

 

연습문제 2

수학에서 로그는 다음과 같이 정의됨. $a^{x}=b$ 일때, $x=\log_{a}{b}$ . 이때 a는 밑, b는 진수라고 함. math 모듈을 이용해서 위의 로그를 표현하면 다음과 같음.

import math
print(math.log(b, a))

 

그렇다면 $\log_{2}{5}+\log_{2}\frac{4}{5}$ 의 값은? math 모듈과 math.log(b, a)를 이용해서 답을 출력해봐.

import math
print(math.log(5, 2) + math.log(4/5, 2))   # 2.0

 

728x90
반응형
댓글