python에서 모듈을namedtuple로 변환하는 방법
2049 단어 python원조namedtuple
이전에 우리는namedtuple을 왜 사용하는지 이해했습니다. 이제 일반적인 모듈과namedtuple로 전환하는 방법을 배워야 합니다.어떤 이유로 컬러 RGBA 값이 포함된 인스턴스가 있다고 가정합니다.Color namedtuple로 변환하려면 다음 절차를 따르십시오.
>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha}
>>> Color(**c)
>>> Color(r=50, g=205, b=50, alpha=0)
이 ** 구조를 이용하여 패키지 압축 해제dict를namedtuple로 할 수 있습니다.메타그룹은 목록과 유사하며 위치 기반의 질서정연한 대상 집합이지만 메타그룹은 생성된 후에 변경할 수 없기 때문에 목록에서 요소를 수정하는 작업은 메타그룹에 적용되지 않습니다.
() 를 사용하면 메타그룹을 만들 수 있으며, 요소 간에는 영문 쉼표를 사용하여 구분합니다.
num_tuple = (1, 2, 3)
string_tuple = ("a", )
만약 내가dict에서namedtupe를 만들고 싶다면, 어떻게 합니까?
>>> c = {"r": 50, "g": 205, "b": 50, "alpha": alpha}
>>> Color = namedtuple("Color", c)
>>> Color(**c)
Color(r=50, g=205, b=50, alpha=0)
dict 실례를namedtuple 공장 함수에 전달하면 필드를 만들 수 있습니다.그리고 Color는 위의 예처럼 사전 c를 풀고 새로운 실례를 만듭니다.코드를 실행하면 모듈을namedtuple로 변환할 수 있습니다.
메타그룹을 namedtuple 인스턴스로 변환하여 확장합니다.
내부에서namedtuples를 사용하지만, 일반 모듈을 제공하는 사용자와의 호환성을 유지하고 싶습니다.
from collections import namedtuple
tuplePi=(1,3.14,"pi") #Normal tuple
Record=namedtuple("MyNamedTuple", ["ID", "Value", "Name"])
namedE=Record(2, 2.79, "e") #Named tuple
namedPi=Record(tuplePi) #Error
TypeError: __new__() missing 2 required positional arguments: 'Value' and 'Name'
tuplePi.__class__=Record
TypeError: __class__ assignment: only for heap types
이는python에서 모듈을namedtuple로 전환하는 방법에 대한 이 글을 소개합니다. 더 많은 모듈이python에서 어떻게namedtuple로 전환하는지 저희 이전의 글을 검색하거나 아래의 관련 글을 계속 훑어보십시오. 앞으로 많은 응원 부탁드립니다!
이 내용에 흥미가 있습니까?
현재 기사가 여러분의 문제를 해결하지 못하는 경우 AI 엔진은 머신러닝 분석(스마트 모델이 방금 만들어져 부정확한 경우가 있을 수 있음)을 통해 가장 유사한 기사를 추천합니다:
로마 숫자를 정수로 또는 그 반대로 변환그 중 하나는 로마 숫자를 정수로 변환하는 함수를 만드는 것이었고 두 번째는 그 반대를 수행하는 함수를 만드는 것이었습니다. 문자만 포함합니다'I', 'V', 'X', 'L', 'C', 'D', 'M' ; 문자열이 ...
텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
CC BY-SA 2.5, CC BY-SA 3.0 및 CC BY-SA 4.0에 따라 라이센스가 부여됩니다.