dict 모듈

class ufp.dict.Lazy(dict=None)

Bases: UserDict.UserDict

설정된 사전 값에 대해 접근 할때 초기화되도록 설정 할 수 있는 사전.

늦은 초기화가 생략 된 경우, 해당 키의 값에 대해서는 늦은 초기화를 사용하지 않도록 설정되어 있습니다.

사용 예는 다음과 같습니다.

>>> import ufp.dict
>>> from ufp.terminal.debug import print_ as debug
>>> dict = ufp.dict.Lazy()
>>> def function():
...     debug('inited...')
...     return 10
... 
>>> dict.add('lazyInitValue', function, True)
>>> dict['lazyInitValue']
[DEBUG] inited...
10
>>> dict['lazyInitValue']
10
add(key, value, lazyInit=False)

늦은 초기화 여부를 설정하면서 사전에 등록합니다.

매개 변수:
  • key – 키
  • value – 값
  • lazyInit – 늦은 초기화 설정. True시 늦은 초기화를 사용함.
items()

기존 UserDict.UserDict.items와 같습니다.

setLazyInit(key, lazyInit)

개별 키에 대한 늦은 초기화 여부를 설정합니다.

매개 변수:
  • key – 키
  • lazyInit – 늦은 초기화 설정. True시 늦은 초기화를 사용함.
values()

기존 UserDict.UserDict.values와 같습니다.

ufp.dict.setdefault(dict, key, default, empty=None)

주어진 dict에 key가 존재하지 않으면, default를 설정합니다. 이때, key가 존재하더라도 empty와 같다면 default를 설정합니다.

사전 객체의 모든 요소와 empty값은 __eq__ 메소드가 작성되어 있어야 합니다. None은 예외.

매개 변수:
  • dict (dict) – 사전
  • key – 키
  • default – 기본값
  • empty – 이미 설정된 값이 empty와 같다면 default값을 설정함.