파이썬에서 변수 선언의 기본 개념
파이썬은 동적 타이핑(dynamic typing) 언어이기 때문에 C나 Java처럼 변수를 미리 선언할 필요가 없습니다. 변수는 코드에서 처음으로 값이 할당되는 스코프(scope)에 자동으로 생성됩니다. 즉, 별도의 "선언" 단계 없이 할당문 하나면 충분합니다.
None을 할당하여 변수 초기화하기
변수를 미리 만들어 두고 나중에 실제 값을 넣고 싶다면, None을 할당하는 것이 파이썬의 표준적인 관례입니다.
예제
my_var = None
이 방법을 사용하면 초기화되지 않은(uninitialized) 변수로 인한 오류는 발생하지 않습니다. 어디에서든 my_var를 참조할 수 있으며, "아직 값이 정해지지 않았다"는 의도를 명확하게 표현할 수 있습니다.
주의할 점
다만 None으로 초기화했다고 해서 항상 올바른 초기화가 보장되는 것은 아닙니다. 변수를 None으로 설정할 때는 그것이 정말 의도에 맞는지 확인하고, 실제로 변수를 사용하는 시점에는 더 의미 있는 값을 할당해야 합니다. 나중에 값이 설정되었는지 확인하려면 다음과 같이 작성할 수 있습니다.
if my_var is None:
my_var = "실제 값"
타입 힌트로 선언만 하기 (참고)
파이썬 3.6부터는 변수 어노테이션(variable annotation)을 사용해 값을 할당하지 않고 변수의 타입을 문서화할 수도 있습니다.
my_var: int
단, 이 구문은 런타임에 실제 변수를 생성하지 않으며, 타입 검사 도구나 IDE가 참고하는 힌트일 뿐입니다. 프로그램 실행 중 변수를 사용하려면 여전히 값을 할당해야 합니다.