콘텐츠로 건너뛰기

파이썬 nullptr 사용법

CodeMDD.io

Python에서 nullptr 이해하기

많은 프로그래밍 언어(C, Java 등)에서는 ‘null’ 개념을 사용하여 아무것도 가리키지 않는 포인터, 변수가 비어있음을 나타내거나 아직 제공하지 않은 기본 매개변수를 표시합니다. 이러한 언어에서 null은 일반적으로 0으로 정의됩니다. 그러나 Python에서는 null이 다릅니다.

Python은 null 객체와 변수를 정의하기 위해 ‘None’이라는 키워드를 사용합니다. ‘None’은 다른 언어의 null과 비슷한 몇 가지 목적을 제공하지만, 그 자체로도 다른 개념입니다. Python의 null인 ‘None’은 0이나 다른 값으로 정의되지 않습니다. Python에서 ‘None’은 개체이자 일등 시민(first-class citizen)입니다!

이 튜토리얼에서는 다음과 같은 내용을 배울 수 있습니다:

  • **‘None’**이 무엇이고, 어떻게 테스트할 수 있는지
  • 언제와 왜 기본 매개변수로 ‘None’을 사용해야 하는지
  • ’None’ 및 ‘NoneType’이 traceback에서 의미하는 바
  • 유형 검사에서 ‘None’을 사용하는 방법
  • Python에서 null이 동작하는 방식

Python에서 null 이해하기

함수 내에 return 문이 없을 때, None이 함수가 반환하는 값입니다:

def has_no_return():
pass
has_no_return()
print(has_no_return())

위의 코드를 호출하면 어떤 출력도 볼 수 없습니다. 그러나 호출을 출력(print)하면 내부에서 반환되는 숨은(None) None을 볼 수 있습니다.

실제로 None은 자주 반환값으로 사용되기 때문에 Python REPL은 명시적으로 알려주지 않는 한 None을 인쇄하지 않습니다:

None
print(None)

None 자체에는 출력이 없지만, 인쇄하면 콘솔에 None이 표시됩니다.

print(print("Hello, World!"))

이 코드가 이상해 보일 수 있지만, print(print("..."))를 통해 내부 print()이 반환하는 None을 볼 수 있습니다.

None은 종종 누락된 또는 기본 매개변수를 나타내는 신호로 사용됩니다. 예를 들어, Nonelist.sort 문서에 두 번 나타납니다:

help(list.sort)

여기서 Nonekey 매개변수의 기본값이자 반환 값에 대한 유형 힌트입니다. help의 정확한 출력은 플랫폼마다 다를 수 있습니다. 이 명령을 인터프리터에서 실행하면 다른 출력이 나타날 수 있지만 비슷한 내용일 것입니다.