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 |