모듈(Module)
여러 변수와 함수를 갖는 집합체이자, 재사용 가능한 프로그램 부품. 코드를 분리하고 공유한다.
- 표준 모듈: python이 기본으로 제공하여 설치 없이 바로 사용 가능하다.
- 외부 모듈: 다른 개발자들이 만들어서 설치 과정을 거치면 사용할 수 있다.
모듈 불러오기
1. import 파일명
모듈 사용은 "모듈명.함수명"
## python_module.py
# 계산기 모듈 만들기 (사칙연산)
def add(a, b):
return a + b
def sub(a, b):
return a - b
def multiply(a, b):
return a * b
def divide(a, b):
return a / b
# -------------------------------------------------------------------------
## import.py
# 모듈 불러오기 1. 모듈명.함수명
import python_module
print("**** 숫자 입력 ****")
x = int(input('x 는 > '))
y = int(input('y 는 > '))
print("\n**** 결과 출력 ****")
print(x, "+", y, "=", python_module.add(x, y))
print(x, "-", y, "=", python_module.sub(x, y))
print(x, "*", y, "=", python_module.multiply(x, y))
print(x, "/", y, "=", python_module.divide(x, y))
2. from ~ import ~
별표는 모두를 의미한다.
모듈명을 일일이 작성하지 않아도 되기 때문에 코드가 간결해지는 장점이 있지만, 식별자 간의 이름 충돌의 가능성이 있고 모듈에서 불러왔다는걸 구분하기 위해서 import 사용(첫번째 방식)을 권장한다.
## 모듈 불러오기 2. from ~ import ~
from python_module import add, multiply
print("**** 두 수 입력 ****")
x = int(input('x 는 > '))
y = int(input('y 는 > '))
print("\n**** 결과 출력 ****")
print(x, "+", y, "=", add(x, y))
print(x, "*", y, "=", multiply(x, y))
# 이때 from import에서 지정하지 않은 함수를 사용하면 NameError 발생
# -------------------------------------------------------------------------
## 모든 것을 의미하는 별표
from python_module import *
print("**** 숫자 입력 ****")
x = int(input('x 는 > '))
y = int(input('y 는 > '))
print("\n**** 결과 출력 ****")
print(x, "+", y, "=", add(x, y))
print(x, "-", y, "=", sub(x, y))
print(x, "*", y, "=", multiply(x, y))
print(x, "/", y, "=", divide(x, y))
기본 모듈 - random
랜덤한 숫자나 결과를 생성해주는 함수.
사용하기 위해서는 가장 먼저 import를 해야한다. (import random)
random 함수의 종류는 randint(), randrange(), choice() 가 있다.
## randint(a, b)
print('randint 함수')
for i in range(10):
print(random.randint(1, 5), end=' ')
'''
randint()
a <= N <= b를 만족하는 정수 N 반환
-> 5 1 2 5 3 1 4 5 2 1
range()니까 0~9까지 10개의 숫자
randint()라서 1~5 사이의 랜덤한 정수 생성
'''
randint()는 특정 범위를 만족하는 정수를 반환한다.
## randrange(시작, 종료, step)
print('\n\n randrange 함수 1')
for i in range(10):
print(random.randrange(1, 7), end=' ')
print('\n\n randrange 함수 2')
for i in range(10):
print(random.randrange(1, 7, 2), end=' ')
'''
randrange()
range(시작, 종료, step) 에서 임의로 선택된 요소 반환
range(10)이니까 0~9까지 10개의 숫자
1. randrange(1, 7)이므로 1~6 사이의 난수 생성
2. randrange(1, 7, 2)라서 1부터 2씩 증가하며 난수 생성
-> 1, 3, 5 만 랜덤으로 10개 출력
'''
randrange()는 random+range 이기 때문에, range()로 지정된 범위 사이의 난수를 생성한다.
## choice(list)
print('\n\n choice 함수')
fruit = ["apple", "banana", "cherry"]
for i in range(5):
print(random.choice(fruit), end=' ')
'''
choice(list)
리스트에서 랜덤으로 요소 반환
range(5)니까 0~4까지 5개 요소 출력
choice(fruit)여서 리스트에 있는 요소 5개 랜덤 출력
'''
choice()는 리스트에서 랜덤으로 요소를 반환한다.
기본 모듈 - math
수학과 관련된 함수들.
사용하려면 가장 먼저 import 부터 해야 한다. (import math)
- floor(x): 숫자 x를 내림한 값을 반환
- ceil(x): 숫자 x를 올림한 값을 반환
- sqrt(x): 숫자 x의 제곱근을 반환
- fabs(x): 숫자 x의 절대값을 실수로 반환
import math
print(math.floor(3.14)) # 내림 -> 3
print(math.ceil(3.14)) # 올림 -> 4
print(math.sqrt(9)) # 루트 9 -> 3.0
print(math.fabs(-1)) # 절대값 -> 1.0
이 외에 상수 모듈도 있다.
## 상수 모듈
print(math.pi)
# 원주율 -> 3.141592653589793
print(math.e)
# 자연상수 -> 2.718281828459045
※ 코드 확인하기 → https://github.com/hjinn0813/python-start
GitHub - hjinn0813/python-start: 2024.06 study basic of python
2024.06 study basic of python. Contribute to hjinn0813/python-start development by creating an account on GitHub.
github.com
'💾 Backend > Python' 카테고리의 다른 글
Python 파일 입출력 (0) | 2024.06.19 |
---|---|
Python 예외처리 (try, except, as) (0) | 2024.06.18 |
Python 함수 (0) | 2024.06.17 |
Python 반복문 - while (0) | 2024.06.14 |
Python 반복문 - for (0) | 2024.06.13 |