Python

[Python] 딕셔너리 기본 값

학학이 2020. 2. 21. 12:20

python dict default value when you access item

파이썬에서 자바스크립의 Object(객체)와 유사한 자료형은 Dictionary(딕셔너리)다.


dict = {
    'name': 'hak'
}
dict.get('name') # 'hak'
dict.get('age') # ''
dict.get('age', 30) # 30
dict.get('age') or 30 # 30
  • .get() 메소드의 두번째 파라미터에 기본 값을 줄 수 있다.
    • 두번째 파라미터의 디폴트는 None이고, 디폴트 값이 있기 때문에 KeyError는 발생하지 않는다.
  • or 연사자를 이용해 딕셔너리의 항목에 기본 값을 줄 수 있다.
    • .get()의 디폴트 None은 논리 연산 시 False로 판별되는 원리를 이용해 기본 값을 설정한다.
    • Javascipt에서 다음과 같이 기본 값을 설정하는 원리와 동일하다.
      var name = dict.age || 30

KeyError를 발생시키지 않는 .get()를 사용하는 것을 추천한다.

딕셔너리 사용법

파이썬 딕셔너리의 Item(항목)에 접근할 때, 자바스크립트와 비슷한 방법을 사용할 수 있다.

# python
dict = {
    'name': 'hak'
}
dict['name'] # hak

자바스크립트와 비교

자바스크립트를 주로 사용하면 무의식적으로 다음과 같은 방법으로 항목에 접근하려고 할 수 있는데, 오류가 발생한다.

# python
dict = {
    'name': 'hak'
}
dict.name # AttributeError: 'dict' object has no attribute 'name'

// javascript
var name = dict.name || 'hak'

# python
name = dict.get('name') or 'hak'

파이썬이 얼마나 고급 프로그래밍 언어인지 보여준다.
.get(), or 매우 직관적이다.