데이터

제로베이스 데이터사이언스 스쿨 - Part 01. 데이터 분석을 위한 Python_Chapter 01-7

Leah (리아) 2025. 9. 21. 20:35
반응형

 Chapter 01. 데이터 분석가에게 꼭 필요한 기초 문법

 

모듈과 패키지 기초

모듈과 패키지 구성

모듈과 패키지는 다른 사람이 만들어둔 파이썬 파일

 

• 모듈은 클래스와 함수의 집합인 파이썬 파일(확장자: py)입니다.
• 패키지는 여러 모듈의 집합으로 폴더입니다.

출처 : 제로베이스 데이터사이언스 스쿨 강의자료

 

 

import문

import문은 모듈과 패키지를 불러올 때 사용

 

• 모듈과 패키지를 불러오면, 거기에 있는 다양한 클래스와 함수를 사용할 수 있다.

import 모듈명 # 모듈 불러오기
모듈명.함수명 # 모듈 내 함수 사용하기
모듈명.클래스명 # 모듈 내 클래스 사용하기
import 모듈명 as 축약모듈명 # 모듈 불러오기
축약모듈명.함수명 # 모듈 내 함수 사용하기
축약모듈명.클래스명 # 모듈 내 클래스 사용하기

 

from import문

from을 사용해서 특정한 함수와 클래스를 불러올 수 있다

 

• 모듈과 패키지를 불러오면, 거기에 있는 다양한 클래스와 함수를 사용할 수 있다.

from 모듈명 import 함수명, 클래스명 # 함수 및 클래스 불러오기
함수명 # 모듈 내 함수 사용하기
클래스명 # 모듈 내 클래스 사용하기
from 모듈명 import * # 모든 함수 및 클래스 불러오기
함수명 # 모듈 내 함수 사용하기
클래스명 # 모듈 내 클래스 사용하기

 

주요 내장 모듈

math 모듈

math 모듈은 수학적 계산을 위한 함수들을 제공

 

• sqrt(x): x의 제곱근 반환
• ceil(x): 올림
• floor(x): 버림
• sin(x), cos(x), tan(x): 삼각함수 값 계산
• log(x, base = 0): 로그 계산, base를 지정하지 않으면 자연 로그를 반환
• pi: 파이 값
• e: 자연로그 값

 

datetime 모듈

datetime 모듈은 날짜와 시간을 다루기 위한 다양한 클래스와 함수들을 제공

 

• datetime: 날짜와 시간을 함께 다루는 클래스
• date: 날짜만 다루는 클래스
• time: 시간만 다루는 클래스
• timedelta: 날짜/시간 간 차이를 표현하는 클래스
• datetime.now(): 현재 날짜 및 시간 반환 (예: 2025-01-02 15:45:30.123456)
• date.today(): 현재 날짜 반환 (예: 2025-01-02)
• strftime(format): 날짜와 시간을 문자열로 변환
• year, month, day, hour, minute, second: 주요 속성
• weekday(): 요일 (월요일 = 0, ..., 일요일 = 6)

 

time 모듈

time 모듈은 시간 관련 함수들을 제공

 

• time(): 1970년 1월 1일 UTC(유닉스 에포크)부터 경과한 시간을 초 단위로 반환.
• time.sleep(secs): 지정된 초만큼 실행을 일시 중지 (주로 크롤링 등 응답 대기에 활용)
• time.perf_counter(): 고해상도 타이머로 측정 가능한 가장 정확한 시간(초 단위)을 반환. 주로 코드 실행 시간 측정에 사용.

 

itertools 모듈

itertools 모듈은 반복자 생성 및 조합을 위한 다양한 함수들을 제공

 

• permutations(iterable, r=None): 반복 가능한 객체에서 가능한 순열을 생성.
• combinations(iterable, r): 반복 가능한 객체에서 가능한 조합을 생성.
• product(*iterables, repeat=1): 카르테시안 곱을 생성.

 

re 모듈

정규표현식(Regular Expressions)을 사용하여 문자열을 검색, 일치 확인, 치환, 분리 등의 작업을 수행할 수 있는 강력한 도구를
제공


• findall: 문자열에서 패턴과 일치하는 모든 부분을 리스트로 반환.

 

 

* 이 글은 제로베이스 데이터사이언스 파트타임 스쿨의 강의 자료 일부를 발췌하여 작성되었습니다.


생각정리

이번 강의에서는 모듈과 패키지의 개념부터 시작해서, import와 from import문을 사용하는 방법, 그리고 자주 쓰이는 내장 모듈(math, datetime, time, itertools, re)까지 다루고 있었다.

듣고 나니 파이썬에서 모듈과 패키지가 단순히 "남이 만들어 놓은 코드"를 불러오는 게 아니라, 내가 만든 코드도 재사용할 수 있게 구조화하는 핵심 도구라는 점이 와닿았다. 특히 from import를 쓰면 원하는 함수만 가져와서 코드가 더 깔끔해지고, as 키워드를 쓰면 길고 복잡한 모듈명 대신 간단하게 사용할 수 있다는 점이 실무에 유용할 것 같다.

또한 내장 모듈들을 보면서, 파이썬이 기본적으로 제공하는 기능만 잘 활용해도 수학 계산, 시간 처리, 반복 조합, 문자열 패턴 처리 같은 복잡한 작업들을 쉽게 처리할 수 있다는 걸 알게 됐다. "굳이 휠을 다시 발명할 필요가 없다"는 프로그래밍 원칙이 떠올랐다.

 

적용점

 

  • 실습 위주 학습: 이론만 아는 것보다 직접 math.sqrt, datetime.now, time.sleep 같은 것들을 실행해 보면서 어떤 결과가 나오는지 확인해야 기억에 남는다. 앞으로는 강의를 듣자마자 짧게라도 실습 코드를 작성할 계획이다.
  • 코드 구조화 습관: 내가 작성하는 코드가 길어지면 함수와 클래스를 모듈 단위로 정리하고, 프로젝트 단위로는 패키지 구조를 만들어서 관리해야겠다. 그래야 다른 사람도 내 코드를 쉽게 불러와 쓸 수 있고 유지보수도 편해질 것이다.
  • 내장 모듈 적극 활용: 불필요하게 새로 구현하기보다, 먼저 파이썬 표준 라이브러리에 같은 기능이 있는지 찾아보고 활용하는 습관을 들이겠다. 특히 데이터 다루는 데 자주 쓰이는 datetime과 패턴 처리에 강력한 re 모듈은 실제 프로젝트에서도 적극적으로 적용할 수 있을 것 같다.

 

반응형