파이썬 NULL

Vaibhhav Khetarpal 2023년1월30일
  1. Python에서 주어진 변수가 None인지 확인
  2. 변수에 None 유형이 있는지 확인
  3. Python에서 포인터에 NULL 값 할당
파이썬 NULL

NULL은 많은 프로그래밍 언어에서 사용되는 키워드입니다. Java 또는 C는 이러한 프로그래밍 언어의 몇 가지 예입니다. 이러한 언어를 접한 적이 있다면 NULL 키워드에 대해 들어본 적이 있을 것입니다. 대부분의 언어에서 이것은 아무 것도 가리키지 않는 포인터를 나타내거나, 아직 알려지지 않은 매개변수를 표시하거나, 주어진 특정 변수가 비어 있음을 나타냅니다.

이 튜토리얼에서는 Python의 NULL 키워드에 대해 설명합니다.

NULL 키워드에 관해서 파이썬은 다른 프로그래밍 언어와 다릅니다. 대부분의 프로그래밍 언어에서 NULL의 값은 0이지만 Python에서는 다릅니다.

파이썬에서 NULL 객체와 변수는 None 키워드를 사용하여 정의됩니다. None 키워드에 0 또는 기타 값이 정의되어 있지 않습니다. None 키워드는 NoneType 데이터 유형이자 개체입니다.

Python에서 주어진 변수가 None인지 확인

is== 키워드를 사용하여 None 키워드를 확인할 수 있습니다.

다음 코드는 is 키워드를 사용하여 Python에서 NULL 객체를 확인합니다.

X = None
if X is None:
    print("X is None")
else:
    print("X is not None")

위의 코드는 다음과 같은 출력을 제공합니다.

X is None

코드 설명:

  • 위 코드에서 변수 XNone 키워드로 초기화됩니다.
  • 다음으로 if...else 조건문을 구현합니다. 변수 XNone이면 지정된 변수 X에 null 값이 있는지 확인합니다.
  • 문장이 true로 판명되면 print('X is None') 문장이 화면에 표시됩니다. 명령문이 거짓으로 판명되면 print('X is not None') 명령문이 인쇄됩니다.

위의 코드에서 is 연산자는 변수를 평가하는 데 사용됩니다. is 연산자 대신 == 연산자를 사용할 수도 있습니다.

마찬가지로 다음 코드는 == 연산자를 사용하여 Python에서 NULL 객체를 확인합니다.

X = None
if X == None:
    print("X is None")
else:
    print("X is not None")

위의 코드는 다음과 같은 출력을 제공합니다.

X is None

변수에 None 유형이 있는지 확인

Python에서 NULL 객체 또는 None 키워드를 확인하는 것 외에도 None 키워드의 데이터 유형도 다음과 같이 확인할 수 있습니다.

X = None
print(type(X))

위의 코드는 다음과 같은 출력을 제공합니다.

<class 'NoneType'>

코드 설명:

  • 먼저 None 값이 변수 X에 할당됩니다.
  • print() 메소드 내에서 사용되는 type()은 인수로 취해진 주어진 변수의 데이터 유형을 리턴합니다.

Python에서 포인터에 NULL 값 할당

파이썬에서 모든 객체는 참조의 도움으로 구현되므로 객체와 객체에 대한 포인터 사이에 구분이 없다는 사실로 이어집니다.

다음 코드는 파이썬에서 포인터에 NULL 값을 할당합니다.

class Node1:
    def __init__(self):
        self.val = 0
        self.right = None
        self.left = None

여기서 주목해야 할 중요한 점은 C에서 NULL이 작동하는 방식과 달리 Python의 None 키워드는 아무 것도 가리키는 포인터가 아니라 단순히 NoneType 클래스의 인스턴스라는 것입니다.

Vaibhhav Khetarpal avatar Vaibhhav Khetarpal avatar

Vaibhhav is an IT professional who has a strong-hold in Python programming and various projects under his belt. He has an eagerness to discover new things and is a quick learner.

LinkedIn