본문 바로가기
python

Python Dictionary의 get 메서드: 키가 없을 때 어떻게 처리할까?

by 니나노뭉 2024. 8. 14.

 


Python의 dictionary(사전)에서 get 메서드는 특정 키에 대한 값을 가져오는 데 사용됩니다. get 메서드의 주요 장점은, 키가 존재하지 않을 때 KeyError를 발생시키지 않고 대신 기본값을 반환할 수 있다는 것입니다. 이 메서드는 특히 키의 존재 여부를 확인하고 그에 따라 적절한 값을 처리할 때 유용합니다.

기본 사용법

dictionary = {'name': 'Alice', 'age': 30}

# 키가 존재할 경우
value = dictionary.get('name')
print(value)  # 출력: Alice

# 키가 존재하지 않을 경우
value = dictionary.get('address')
print(value)  # 출력: None


위 예제에서, 'name' 키가 존재하므로 'Alice'를 반환하고, 'address' 키는 존재하지 않으므로 기본값인 None을 반환합니다.

 

기본값 제공하기

get 메서드는 두 번째 인수로 기본값을 제공할 수 있습니다. 이 기본값은 키가 사전에 존재하지 않을 때 반환됩니다.

dictionary = {'name': 'Alice', 'age': 30}

# 기본값 제공
value = dictionary.get('address', 'Unknown')
print(value)  # 출력: Unknown

여기서 'address'라는 키가 사전에 없으므로 'Unknown'이 반환됩니다.

get 메서드의 장점

  1. KeyError 방지: 직접 인덱싱(dictionary['key'])을 사용하면 키가 존재하지 않을 때 KeyError가 발생하지만, get 메서드는 예외를 발생시키지 않습니다.
  2. 기본값 설정: 키가 없을 때 반환할 기본값을 지정할 수 있어, 코드의 안전성과 가독성이 높아집니다.

 

예제

다음은 get 메서드를 사용하는 다양한 예제입니다.

# 기본 딕셔너리
info = {'name': 'Bob', 'age': 25, 'city': 'New York'}

# 키가 존재하는 경우
print(info.get('name', 'N/A'))  # 출력: Bob

# 키가 존재하지 않는 경우
print(info.get('country', 'N/A'))  # 출력: N/A

# 기본값을 명시적으로 None으로 설정
print(info.get('occupation', None))  # 출력: None

요약

  • get(key, default=None) 메서드는 주어진 key가 딕셔너리에서 존재하는지 확인하고, 존재하면 해당 값을 반환합니다. 키가 없으면 default 값을 반환합니다.
  • default 값을 지정하지 않으면 기본값으로 None이 반환됩니다.
  • 이 메서드는 키가 존재하지 않을 때 KeyError를 방지하는 안전한 방법을 제공합니다.

이러한 기능은 데이터를 다룰 때 발생할 수 있는 오류를 줄이고, 코드의 안정성을 높이는 데 유용합니다.