파이썬, 모든 것이 객체다

김우진·2026년 9월 4일

크래프톤 정글

목록 보기
7/27
post-thumbnail

Python에서는 숫자, 문자열, 리스트뿐만 아니라 함수와 클래스까지도 객체(object) 로 다뤄진다.

예를 들어:

x = 10

여기서 10은 단순한 숫자 값이 아니라 int 타입의 객체다.

print(type(10))
# <class 'int'>

개념적으로는 다음처럼 생각할 수 있다.

x ──→ 10이라는 int 객체

문자열과 리스트도 마찬가지다.

name = "hello"
numbers = [1, 2, 3]

print(type(name))     # <class 'str'>
print(type(numbers))  # <class 'list'>

None 역시 객체다.

x = None

print(type(x))
# <class 'NoneType'>

즉:

10          → int 객체
"hello"     → str 객체
[1, 2, 3]   → list 객체
None        → NoneType 객체

파이썬에서는 함수도 객체다.

def hello():
    print("hello")

a = hello

a()
# hello

hello라는 함수 객체를 a라는 다른 변수도 가리킬 수 있다.

hello ─┐
       ├──→ 함수 객체
a ─────┘

따라서 파이썬의 변수는 값을 직접 담는 상자라기보다, 객체를 가리키는 이름이라고 이해하면 편하다.

a = [1, 2]
b = a
a ─┐
   ├──→ [1, 2] 리스트 객체
b ─┘

이 경우 a와 b는 같은 객체를 가리킨다.

그래서:

b.append(3)

print(a)
# [1, 2, 3]

b를 통해 리스트를 수정했지만 a에서도 변경된 결과가 보인다.

결국 파이썬에서 "모든 것이 객체다"라는 말은 다음처럼 이해하면 된다.

  • 숫자도 객체
  • 문자열도 객체
  • 리스트도 객체
  • None도 객체
  • 함수도 객체
  • 클래스도 객체

파이썬에서는 값들이 타입을 가진 객체로 존재하고, 변수는 그 객체를 가리킨다.

0개의 댓글