
아직까지도 가장 헷갈려하는 게 메서드와 내장함수다. 그게 어떤거냐면 예를 들어:
python = "Python is Amazing"
메서드 방식 : python.lower()
내장 함수 : len(python)
#메서드 방식
string 문자열 자료형에 속한 함수, 즉 메서드 method
문법 : 문자열.메서드()
예 : python = "Python is Amazing"
print(python.lower())
== "Python is Amazing"이라는 문자열 객체가 있고, 그 객체 안에 lower()이라는 기능(함수) 들어있음
==> 이 문자열을 소문자로 바꿔줘 ! 라고 문자열 객체에 직접 명령
#내장 함수 방식
파이썬이 전역적으로 제공하는 함수. 즉, 어떤 자료형이든 길이를 구할 수 있게 설계된 범용 함수
문법 : len(객체)
예 : python = "Python is Amazing"
print(len(python))
== 내부적으로 문자열, 리스트, 딕셔너리 등 여러 객체의 “길이”를 구하는 기능을 객체별로 다르게 작동하도록 설계
Q. lower(python) 또는 python.len() 이 되나 ?
A. XXX
lower의 경우, 전역 함수로 정의 되어 있지 않기에 lower(python) 형태 사용 불가
len은 메서드가 아닌 전역 함수이기에 python.len() 형태 사용 불가
메서드와 내장 함수 구조 차이
[파이썬 프로그램 전체 공간 ─ Global Scope]
│
├── 내장함수 (built-in functions)
│ ├── len()
│ ├── print()
│ ├── type()
│ ├── range()
│ └── ...
│
└── 객체들 (objects)
├── 문자열(str)
│ ├── "Python".lower()
│ ├── "Python".upper()
│ ├── "Python".replace()
│ └── ...
│
├── 리스트(list)
│ ├── [1,2,3].append()
│ ├── [1,2,3].pop()
│ └── ...
│
└── 딕셔너리(dict)
├── {"a":1}.keys()
├── {"a":1}.items()
└── ...
둘의 차이점
내장 함수 : 파이썬에게 요청하는 것 (e.g. len("Python") ==> "파이썬, 이 문자열 길이 알려줘" ==> "Python".__len__() 실행
메서드 : 문자열 스스로 행동하는 것 (e.g. "Python".lower() ==> "내가 내 자신을 소문자로 바꾸겠다"
Q. 그렇다면, 어떤 게 내장함수, 어떤 게 메서드인지 외워야 하나?
A. 어느정도는 외워야 함. BUT 패턴을 이해해서 외우는 게 더 쉬움
외워야 하는 대표 내장 함수 (10~15개 정도면 충분)
| 함수 | 설명 | 예시 |
| len() | 길이(요소 개수) 구함 | len("abc"), len([1,2,3]) |
| type() | 자료형 확인 | type("hello") |
| print() | 콘솔에 출력 | print("hi") |
| range() | 숫자 범위 생성 | range(5) |
| input() | 사용자 입력 받기 | input("이름: ") |
| int(), float(), str() | 형변환 | int("10"), str(10) |
| sum(), max(), min() | 리스트 등의 합, 최댓값, 최솟값 | sum([1,2,3]) |
| sorted() | 정렬된 리스트 반환 | sorted([3,1,2]) |
| zip() | 여러 리스트 묶기 | zip([1,2], ['a','b']) |
그 외는 대부분 “객체.메서드()” 구조
| 자료형 | 메서드 예시 | 의미 |
| 문자열 | .lower(), .upper(), .replace(), .split() | 문자열 조작 |
| 리스트 | .append(), .pop(), .sort(), .remove() | 리스트 수정 |
| 딕셔너리 | .keys(), .values(), .items(), .get() | 키-값 조작 |
| 세트(set) | .add(), .union(), .intersection() | 집합 연산 |
패턴으로 구분하는 요령
| 구분 기준 | 특징 | 예시 |
| 여러 자료형에서 공통으로 작동함 | → 내장 함수 | len(x), type(x), sum(x) |
| 특정 자료형 전용 기능임 | → 메서드 | "abc".lower(), [1,2].append() |
'공부 & 프로젝트 > 파이썬' 카테고리의 다른 글
| [파이썬] 웹스크래핑 기초 1: html, xpath, 크롬 (0) | 2025.10.17 |
|---|---|
| [파이썬] 모듈, 패키지, 설치 (pip), 내장함수, 외장함수(glob, os, time, datetime, timedelta) (0) | 2025.10.15 |
| [파이썬] 예외 처리- Try, Except, Raise (0) | 2025.10.15 |
| [파이썬] Class : init, 메소드, 상속, 다중상속, 메소드 오버라이딩 (1) | 2025.10.15 |
| [파이썬] 문자열 포맷 (0) | 2025.10.11 |