파이썬에서는 변수 선언이 필요 없습니다
결론부터 말하자면, 파이썬에서는 변수를 미리 선언할 필요가 전혀 없습니다.
아래에서 그 이유와 배경을 자세히 살펴보겠습니다.
정적 타입 언어 vs 동적 타입 언어
C, C++, Java, C# 같은 정적 타입(statically typed) 언어는 변수를 프로그램에서 사용하기 전에 반드시 이름과 자료형(타입)을 함께 선언해야 합니다. 컴파일러는 해당 변수에 올바른 종류의 데이터만 저장되도록 검사합니다.
예를 들어 C 언어에서 정수 값을 저장할 변수를 만들려면 다음과 같이 선언해야 합니다.
int x;
선언 후에는 값을 할당하거나 사용자 입력을 받을 수 있습니다. 만약 정수가 아닌 다른 타입의 값을 할당하면 컴파일러는 타입 불일치(type mismatch) 오류를 발생시킵니다.
x = 10; // 정수 할당 — 유효함
x = "Hello"; // 문자열 할당 — 타입 불일치 오류 발생
파이썬의 동적 타이핑(Dynamic Typing)
반면 파이썬은 동적 타입(dynamically typed) 언어입니다. 파이썬에서는 숫자, 문자열, 불리언 등 특정 타입의 데이터 객체가 먼저 메모리에 생성되고, 변수는 단지 그 객체에 연결된 이름(name)일 뿐입니다.
즉, 변수의 타입은 코드 작성 시점이 아니라 실행 시점(run time)에 할당된 값에 따라 결정됩니다. 따라서 별도의 선언 과정 없이 값을 할당하는 순간 변수가 자동으로 생성됩니다.
type() 함수로 변수의 타입 확인하기
파이썬 표준 라이브러리는 변수의 자료형을 확인할 수 있는 type() 함수를 제공합니다. 다음 예제는 파이썬 변수의 타입이 실행 중에 동적으로 어떻게 변하는지 보여줍니다.
>>> a = "Hello" # 변수 a는 문자열 객체를 참조
>>> type(a)
<class 'str'>
>>> a = 10 # 이제 변수 a는 정수 객체를 참조
>>> type(a)
<class 'int'>
위 예제에서 볼 수 있듯이, 같은 변수 a에 문자열을 할당하면 str 타입이 되고, 정수를 재할당하면 int 타입으로 바뀝니다. 이것이 바로 파이썬이 변수 선언 없이 유연하게 동작하는 핵심 원리입니다.