파이썬을 비롯한 여러 프로그래밍 언어에는 '값이 없음'을 나타내는 특별한 값이 존재합니다. 파이썬에서 이러한 역할을 하는 것이 바로 None입니다. 따라서 클래스에서 속성을 선언하면서 초기값을 지정하지 않으려면 None을 할당하면 됩니다.
클래스 변수로 속성 선언하기
가장 간단한 방법은 다음과 같이 속성에 None 값을 직접 할당하는 것입니다.
class Student:
StudentName = None
RollNumber = None인스턴스 변수로 속성 선언하기
위 방식으로 선언된 변수는 사실 인스턴스 변수가 아닌 클래스 변수에 가깝습니다. 실제 개발에서는 일반적으로 __init__ 메서드 안에서 인스턴스 변수로 선언하는 것이 더 권장됩니다.
class Student(object):
def __init__(self):
self.StudentName = None
self.RollNumber = None이렇게 하면 객체가 생성될 때마다 해당 인스턴스만의 고유한 속성이 None으로 초기화되므로, 이후 필요한 시점에 원하는 값을 할당할 수 있습니다.
None의 암묵적 반환 확인하기
흥미로운 점은 파이썬이 None 값을 암묵적으로 사용한다는 것입니다. 아래 코드를 보면 함수가 명시적으로 아무 값도 반환하지 않을 때, 자동으로 None이 반환되는 것을 확인할 수 있습니다.
def h():
pass
k = h() # k now has the value of None즉, return 문이 없는 함수의 결과를 변수에 담으면 그 변수에는 None이 저장됩니다. 이처럼 None은 파이썬에서 '값의 부재'를 표현하는 표준적인 방법이며, 속성을 미리 선언해 두고 나중에 값을 채우고 싶을 때 유용하게 활용할 수 있습니다.