Responsive Advertisement
스터디 IT/AI
40대 남자의 IT/AI 공부

파이썬 점(.)의 비밀 — 모듈·함수·메서드, 외우지 않고 정복하기

파이썬 점(.)의 비밀 — 모듈·함수·메서드, 외우지 않고 정복하기
🐍 Python 🌱 입문자 ⏱ 5분 읽기

파이썬 점(.)의 비밀 — 모듈·함수·메서드, 외우지 않고 정복하기

random.sample()에서 점(.)은 왜 쓸까요? 함수와 메서드는 무엇이 다를까요? 파이썬 입문자가 가장 많이 헷갈리는 이 세 가지 개념을 실제 예제와 함께 단번에 정리해 드립니다.

📅 2025년 · 카테고리: Python 입문 · Study IT/AI

🔍 점(.)의 진짜 의미 — 도구함과 도구

파이썬에서 점(.)은 "~안에 있는"이라는 뜻입니다. 아래 코드를 예시로 살펴볼게요.

Python
import random

# 1~45 사이에서 중복 없이 6개 뽑기
lotto = random.sample(range(1, 46), 6)
print(lotto)  # 예) [3, 17, 22, 31, 38, 45]

이 한 줄을 구조로 쪼개면 이렇습니다.

부분역할비유
random무작위 관련 도구들의 모음도구함 (모듈)
."~안에 있는"도구함 뚜껑 열기
sample()중복 없이 뽑아주는 기능도구 (함수)
💡

random 도구함 안에는 sample() 외에도 randint() (임의의 정수), choice() (리스트에서 하나 선택), shuffle() (섞기) 등 다양한 도구들이 들어 있습니다.


⚙️ 함수 vs 메서드, 무엇이 다른가요?

파이썬을 배우다 보면 함수(Function)메서드(Method)라는 두 단어가 자주 등장합니다. 둘 다 ()괄호가 붙어 있어 헷갈리기 쉬운데, 차이는 단 하나입니다.

구분사용 방식예시특징
함수이름만 바로 호출print("안녕")누구나 쓸 수 있는 공용 도구
메서드데이터.메서드() 형식lotto.sort()특정 데이터 전용 도구
Python
lotto_numbers = [38, 3, 22, 17, 45, 31]

# sort()는 '리스트'라는 데이터에만 달라붙은 전용 메서드
lotto_numbers.sort()

print(lotto_numbers)  # [3, 17, 22, 31, 38, 45]

마찬가지로 날짜·시간 데이터(now)에도 전용 메서드가 있습니다.

Python
import datetime

now = datetime.datetime.now()           # 현재 날짜+시간 데이터
result = now.strftime("%Y년 %m월 %d일")  # 글자 형식으로 변환하는 메서드
print(result)  # 2025년 07월 15일
💡

strftimestr(문자열) + f(format, 형식) + time(시간)의 줄임말입니다. "시간을 원하는 모양의 글자로 바꿔줘!"라는 뜻이죠.


✂️ 이름 두 번 쓰기 싫을 때 — from … import

datetime.datetime.now()처럼 이름이 두 번 겹칠 때, from … import를 쓰면 깔끔하게 줄일 수 있습니다.

Python
# datetime 도구함에서, datetime 도구만 콕 집어서 가져오기
from datetime import datetime

# 이제 앞에 'datetime.' 안 붙여도 됩니다
now = datetime.now()
print(now.strftime("%Y년 %m월 %d일"))
⚠️

인터넷 코드에서 import datetimefrom datetime import datetime이 섞여 있는 이유가 바로 이 때문입니다. 이름을 두 번 쓰기 번거로울 때 후자를 선택하는 것뿐이에요.


🔭 도구함 안을 들여다보는 4가지 방법

현업 개발자들도 모든 함수 이름을 외우지 않습니다. 대신 아래 4가지 방법으로 그때그때 확인합니다.

STEP 01

엑스레이: dir() 함수

도구함 안의 모든 도구 이름을 리스트로 쏟아냅니다. Directory(목록)의 줄임말입니다.

Python
import random
print(dir(random))
# ['choice', 'choices', 'randint', 'sample', 'shuffle' ...]

STEP 02

사용 설명서: help() 함수

이름은 찾았는데 사용법을 모를 때, 파이썬이 영문 설명서를 바로 보여줍니다.

Python
help(random.sample)
# sample(population, k, ...) — 중복 없이 k개 뽑기

STEP 03 ⭐

주피터 최강 꿀팁: Tab 자동완성

주피터 노트북에서 random.을 입력하고 Tab 키를 누르면 사용 가능한 함수 목록이 팝업으로 뜹니다. 실전에서 가장 빠른 방법!

STEP 04

가장 현실적인 방법: 구글 검색

"파이썬 랜덤 숫자 뽑기"처럼 기능 중심으로 검색하면, 선배 개발자들이 어떤 모듈·함수를 쓰는지 예제 코드와 함께 수백 개가 나옵니다.


🧠 외우지 않아도 되는 이유

10년 차 개발자도 모든 함수 스펠링을 외우지 않습니다. 뇌는 논리와 흐름(뼈대)을 짜는 데 써야 하고, 세부 명령어는 구글·Tab 키·공식 문서에 맡기는 것이 프로의 방식입니다.

단, 아래 3가지 큰 규칙만은 몸으로 기억해 두세요.

💡

① 점(.)을 찍으면 그 안의 전용 도구를 꺼내 쓰는 것
② if / for 아래는 무조건 들여쓰기(4칸)
③ 남의 도구를 빌릴 때는 맨 위에 import

이 규칙들만 익히면 모르는 함수는 그때그때 검색해서 붙여넣으면 됩니다. 영어 회화를 할 때 문법 구조만 알면 모르는 단어는 사전을 찾으면 되는 것과 똑같습니다.


❓ 자주 묻는 질문 (FAQ)

Q모듈(도구함)과 라이브러리는 다른 건가요?

개념적으로 비슷합니다. 모듈은 .py 파일 하나, 라이브러리는 여러 모듈을 묶은 패키지를 가리킵니다. 입문 단계에서는 동의어로 이해해도 무방합니다.

Qimport random을 매번 써야 하나요?

네, 파이썬 파일(또는 노트북) 상단에 한 번만 써두면 됩니다. 코드를 새로 실행할 때마다 한 번씩 import가 필요합니다.

Q함수를 직접 만들려면 어떻게 하나요?

def 함수이름(): 으로 시작하면 됩니다. 파이썬이 제공하는 내장 함수와 동일한 방식으로 동작합니다. 자주 반복되는 코드를 함수로 만들어두면 훨씬 편리합니다.

Q메서드는 리스트에만 있나요?

아닙니다. 문자열(str), 딕셔너리(dict), 날짜·시간 등 모든 자료형에 전용 메서드가 있습니다. 데이터 뒤에 점(.)을 찍고 Tab을 누르면 확인할 수 있습니다.


다음 글 예고: 파이썬 조건문(if)과 반복문(for) — 코드를 자동화하는 핵심 뼈대 이해하기

이 글이 도움이 되셨다면 댓글로 알려주세요 😊

댓글 쓰기

💬 질문은 환영! 욕설, 홍보성 댓글은 삭제됩니다.