Python의 Dict Union 연산자 | 펩 584
4915 단어 python
병합 사전
압축 풀기를 사용하여 오랫동안 dicts를 업데이트했습니다. 마지막 항목이 항상 이깁니다. 사용자가 기본 구성을 재정의하는 것이 매우 쉽습니다. pep584가 Python 3.9에 도착하면 이제
|
연산자를 활용하여 동일한 결과를 얻을 수 있습니다.default_config = {
'url': 'https://example.com',
'assets_dir': 'static'
}
user_config = {'url': 'https://waylonwalker.com'}
# **unpacking goes back much further than 3.9
config = {**default_config, **user_config}
print(config)
# {'url': 'https://waylonwalker.com', 'assets_dir': 'static'}
# the same can be achieved through the new to python 3.9 | operator
config = default_config | user_config
print(config)
# {'url': 'https://waylonwalker.com', 'assets_dir': 'static'}
understanding python *args and **kwargs
More on unpacking in this post.
사전 업데이트
릴리스에는 업데이트에 사용할 수 있는 새로운 업데이트 구문
|=
도 있습니다. 나는 어떤 이유로 변수를 자주 변경하지 않기 때문에 개인적인 사용 사례에서 이에 대한 더 나은 예를 생각할 수 없습니다. 그래서 구성을 만든 다음 업데이트하는 것을 제외하고는 위와 비슷한 예를 들겠습니다.# old python <3.9 way
config = {
'url': 'https://example.com',
'assets_dir': 'static'
}
config.update({'url': 'https://waylonwalker.com'})
# new python 3.9+ way
config = {
'url': 'https://example.com',
'assets_dir': 'static'
}
config |= {'url': 'https://waylonwalker.com'}
print(config)
# {'url': 'https://waylonwalker.com', 'assets_dir': 'static'}
당신은 그것을 사용해야합니까?
3.9에서만 실행될 라이브러리/응용 프로그램을 작성하고 있습니까? 그러면 풀릴 것이 없습니다. 누군가가 3.8 또는 이전 버전에서 코드를 실행할 가능성이 있는 경우
**
또는 .update
를 사용하십시오.RTFM
이것이 이 새로운 구문을 사용하는 방법에 대해 가장 먼저 떠오르는 것입니다. 자세한 내용은 pep584을 참조하십시오.
연결
Reference
이 문제에 관하여(Python의 Dict Union 연산자 | 펩 584), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/waylonwalker/pythons-dict-union-operator-pep-584-3h73텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)