본문 바로가기
Python

파이썬의 None과 NaN

by 아르카눔 2024. 7. 12.

Python에서의 None

 

파이썬의 None은 특별한 상수 값으로, 값이 없음을 나타냅니다. 주요 특징은 다음과 같습니다:

1. 의미: 변수나 객체에 값이 할당되지 않았거나, 함수가 명시적인 반환 값 없이 종료될 때 사용됩니다.

2. 타입: NoneType의 유일한 인스턴스입니다.

3. 불리언 컨텍스트: False로 평가됩니다.

4. 비교: is 연산자를 사용하여 비교하는 것이 좋습니다 (예: if x is None).

5. 초기화: 변수를 초기화할 때 자주 사용됩니다.

6. 함수 반환: 함수가 명시적인 return 문 없이 종료될 때 자동으로 반환됩니다.

7. 옵셔널 매개변수: 함수의 기본 인자로 자주 사용됩니다.

 

 

 

a = None
if a: # None이 아닌 경우
    print("NOT None")
else: # None인 경우
    print("None")P
    
>> None

 

 

a = None
if not a: # None인 경우
    print("None")
else: # None이 아닌 경우
    print("NOT None")
    
>> None

 

 

a = None
if a is None: # None인 경우
    print("None")
else: # None이 아닌 경우
    print("NOT None")
    
>> None

 

 

a = None
if a is not None: # None이 아닌 경우
    print("NOT None")
else: # None인 경우
    print("None")
    
>> None

 

 

None과 NaN은 파이썬에서 다른 목적으로 사용되는 특별한 값들입니다. 주요 차이점은 다음과 같습니다:

1. 의미:
   - None: 값이 없음을 나타냅니다.
   - NaN: "Not a Number"의 약자로, 수학적으로 정의되지 않은 연산 결과를 나타냅니다.

2. 타입:
   - None: NoneType의 유일한 인스턴스입니다.
   - NaN: float 타입입니다.

3. 비교:
   - None: 다른 None과 비교하면 True입니다. (None == None)
   - NaN: 자기 자신을 포함한 어떤 값과도 같지 않습니다. (NaN != NaN)

4. 사용 맥락:
   - None: 주로 객체가 초기화되지 않았거나 함수가 명시적인 반환값이 없을 때 사용됩니다.
   - NaN: 주로 수치 연산에서 사용되며, 0으로 나누기 같은 정의되지 않은 수학 연산의 결과로 발생합니다.

5. 생성:
   - None: 파이썬 키워드입니다.
   - NaN: math.nan 또는 float('nan')으로 생성할 수 있습니다.

이 정보가 도움이 되었나요? 더 자세한 설명이나 예제가 필요하시다면 말씀해 주세요.

 

import math

x = float('nan')
print(math.isnan(x))  # True

 

 

import numpy as np

x = np.nan
print(np.isnan(x))  # True

 

 

import pandas as pd

x = pd.np.nan
print(pd.isna(x))  # True

 

 

 

 

 

 

 

'Python' 카테고리의 다른 글

파이썬의 여러 가상환경 비교  (0) 2024.08.03
Anaconda와 가상 환경 관리  (0) 2024.08.01