- Today
- Total
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | 3 | ||||
4 | 5 | 6 | 7 | 8 | 9 | 10 |
11 | 12 | 13 | 14 | 15 | 16 | 17 |
18 | 19 | 20 | 21 | 22 | 23 | 24 |
25 | 26 | 27 | 28 | 29 | 30 | 31 |
- jupyter
- 함수
- 변수
- 2주차
- 비교연산자
- 논리연산자
- error
- sql
- 데이터
- github
- 데싸4기
- 파이썬문법
- 빅쿼리
- data
- 컴프리헨션
- 깃허브
- 데이터베이스
- 1주차
- 파이썬
- 데이터사이언티스트
- bigquery
- 개념정리
- 모두의연구소
- 딕셔너리
- 환경세팅
- python
- AI
- 함수활용
- 주피터노트북
- Jupyter Notebook
[Python] 모듈, 패키지, 라이브러리 본문
- 모듈(module): .py 확장자의 파일. 파일 안에 변수나 함수, 클래스 등을 저장할 수도 있고, 모듈 자체가 실행할 수 있는 코드
- 패키지(package): 모듈 여러 개를 묶은 것
- 라이브러리(library): 여러 패키지와 모듈을 모아둔 것
👉 셋 사이의 관계: 라이브러리 ≥ 패키지 ≥ 모듈
모듈
🔶 random 모듈
import random
🔶 random()
# Q. 5개의 난수를 출력해 보세요.
import random as r
for i in range(5):
print(r.random())
🔶 randint(a, b)
r.randint(1,6)
# 1 <= N <= 6 사이의 정수를 반환
🔶 seed()
✅ 같은 시드값을 사용하면 항상 같은 순서의 난수가 생성됨.
🔶 math 모듈
math 모듈은 수학과 관련된 모듈이다. 출력값은 대부분 float 자료형이다.
💬 괄호가 필요하지 않다는 점을 주의해서 봐주시면 좋을 것 같다.
- pi: 파이값
- e: 자연상수값
- pow(실수형) vs ** (정수형)
- sqrt: 제곱근
- factorial: 팩토리알
- ceil: 올림
- floor: 버림
🔶 파이썬 기본 내장 함수 round() : 반내림, 반올림하는 함수
math모듈이 아니라는 점을 기억.
파이썬 기본 내장 함수이기 때문에 m.round() 하면 오류 발생한다.
🔶 time 모듈
🔶 sleep(): 타이머
ex) sleep(5): 5초 타이머 개념
🔶 localtime()
- 년도(tm_year)
- 월(1~12)(tm_mon)
- 일(tm_day)
- 시(0~23)(tm_hour)
- 분(tm_min)
- 초(tm_sec)
- 몇번째 요일(월:0~일:6)(tm_wday)
- 올해의 몇번째 날(tm_yday)
- 썸머타임의 여부(tm_isdst:-1,0,1)
🔶 keyword 모듈
- kwlist: 예약어를 리스트로 출력
- iskeyword(): 그 값이 키워드인지 확인하는 모듈
모듈을 불러오는 방법
🔶 from import: 모듈 일부분만 가져오기
from math import pi
pi
🔶 from import: 모듈 여러 개 가져오기
from math import e, pi, pow
pi, e, pow(2,5)
🔶 from 모듈 import * : 모듈 전체 가져오기
❓ from math import * 와 import math 의 차이점
1️⃣ import math
import math
print(math.sqrt(16)) # 4.0
print(math.pi) # 3.141592653589793
✅ math 모듈을 그대로 가져옴.
✅ math.함수이름 형태로 사용해야 함.
✅ 장점:
- 모듈 이름이 유지되므로 코드 가독성이 좋음.
- 다른 모듈과 이름 충돌을 방지할 수 있음.
2️⃣ from math import *
from math import *
print(sqrt(16)) # 4.0
print(pi) # 3.141592653589793
✅ math 모듈 안의 모든 함수와 변수를 직접 가져옴.
✅ math.sqrt(16) 대신 sqrt(16)처럼 사용 가능.
❌ 단점:
- sin(), cos() 같은 이름이 다른 모듈이나 사용자 정의 함수와 충돌할 위험이 있음.
- 어떤 함수가 math에서 왔는지 알기 어렵다 → 코드 가독성이 떨어짐.
❓언제 어떤 방식이 더 좋은가?
✅ 불필요한 것까지 가져오지 않음.
✅ 코드가 깔끔하고 가독성이 좋음.
👉 결론: import math 또는 from math import 필요한 함수 방식을 추천! 🚀
패키지
🔶 os 패키지
파이썬에서 경로를 다룰 때 유용한 os 패키지에서 path 모듈을 불러온다. 그 안에 있는 join()함수를 사용해서 예시 경로를 합친다. join(a, b) 에서 a에는 경로를, b에는 파일명을 넣으면 된다.
import os.path
new_path = os.path.join("/A/B/C", "file.py")
print("join(): " + new_path)
라이브러리
📌 라이브러리: 라이브러리 자체를 가져다 사용하고 호출하는 용도
📌 프레임워크: 특정 공간에 들어가서 사용한다.
✅ 사용자가 여러 함수와 클래스들을 필요에 따라 가져다 쓰는 것은 라이브러리
✅ 프레임워크는 보통 틀을 제공하여 사용자가 따르게 한다.
👉 즉, 주체가 다르다. 🚀
'Python' 카테고리의 다른 글
[Python] 클래스, 메서드, 객체, 생성자, 속성, self (0) | 2025.04.03 |
---|---|
[Python] 예외 처리(구문 오류, 런타임 에러) (0) | 2025.04.03 |
[Python] 일급 객체 (0) | 2025.04.02 |
[Python] 람다, 컴프리헨션 (0) | 2025.04.01 |
[Python] 리스트, 딕셔너리 다루기2 - 딕셔너리, 딕셔너리 함수 (0) | 2025.04.01 |