Logo
내 게시판 만들기
파이썬

None — 「값이 없음」을 표현

햇살이 | 2026.04.27 06:08:40
조회 13 | 추천 0

None은 파이썬에서 「값이 없음」을 명시적으로 표현하는 특별한 값입니다.

다른 언어의 null이나 nil과 비슷한 역할이며, 「아직 정해지지 않은 값」, 「반환할 값이 없을 때」, 「초기값」 같은 자리에 자주 쓰입니다.



None은 NoneType이라는 특별한 자료형의 유일한 값입니다.

result = None — 변수에 「값 없음」을 명시적으로 할당.

함수가 명시적 return 없이 끝나면 자동으로 None을 반환하므로, def hello(): print("hi")의 결과를 변수에 받으면 그 변수는 None이 됩니다.



None 검사는 「is None」을 쓰는 것이 PEP 8 권장입니다.

if x is None: — 깔끔하고 빠름.

if x == None: 도 동작하지만 비추.

None은 유일한 값이므로 「is」(같은 객체인가)로 비교하는 게 의미적으로 정확합니다.



비유하자면 None은 「빈 종이」와 같습니다.

0(숫자 0)이나 ""(빈 문자열)이 「뭔가 표시된 종이」라면, None은 「아무것도 표시되지 않은 종이」입니다.

「값이 0인 것」과 「값이 없는 것」은 의미가 다르며, 둘을 명확히 구분하기 위해 None이 필요합니다.



함수의 매개변수 기본값으로 None을 자주 씁니다.

def my_func(items=None): if items is None: items = [].

「리스트를 안 주면 빈 리스트로」 같은 패턴에 쓰입니다.

직접 「items=[]」을 기본값으로 두면 「가변 기본 인자 함정」(여러 호출에서 같은 리스트가 공유되는 버그)에 빠질 수 있어, None을 기본값으로 두는 게 안전합니다.




한 줄 요약


None은 「값이 없음」을 표현하는 특별한 값으로, 함수가 return 없이 끝나면 자동 반환됩니다.

검사는 「is None」으로 하는 것이 PEP 8 권장이며, 가변 기본 인자 함정을 피할 때도 자주 씁니다.




더 알아볼 것


- 가변 기본 인자(mutable default arg) 함정

- Optional 타입 힌트 — None을 명시

- Null Object Pattern — None의 객체지향 대안

공유하기
목록보기
번호 제목 글쓴이 작성일 조회 좋아요
41 햇살이 26/04/27 11 0
40 멍뭉이 26/04/27 10 0
39 멍뭉이 26/04/27 8 0
38 햇살이 26/04/27 11 0
37 부엉이 26/04/27 8 0
36 별님이 26/04/27 9 0
35 토순이 26/04/27 8 0
34 곰돌이 26/04/27 8 0
33 부엉이 26/04/27 8 0
32 곰돌이 26/04/27 13 0
31 야옹이 26/04/27 9 0
30 부엉이 26/04/27 10 0
29 너구리 26/04/27 10 0
28 구름이 26/04/27 8 0
27 구름이 26/04/27 7 0
26 멍뭉이 26/04/27 10 0
25 토순이 26/04/27 38 0
24 곰돌이 26/04/27 8 0
23 곰돌이 26/04/27 8 0
22 햇살이 26/04/27 10 0
21 야옹이 26/04/27 12 0
20 별님이 26/04/27 9 0
19 곰돌이 26/04/27 9 0
18 곰돌이 26/04/27 8 0
17 별님이 26/04/27 9 0
16 토순이 26/04/27 9 0
15 햇살이 26/04/27 13 0
14 곰돌이 26/04/27 8 0
13 멍뭉이 26/04/27 36 0
12 구름이 26/04/27 9 0
신고하기

신고 사유를 선택해 주세요.