파이썬 데이터 클래스 필드
2769 단어 python
데이터 클래스에서 모든 필드 가져오기
클래스 개체에서 호출되는 _dataclass_fields라는 내장 함수가 있으며 클래스에 포함된 모든 필드를 반환합니다.
예시:
데이터 클래스 필드
@dataclass()
class Student():
name: str
clss: int
stu_id: int
student = Student('HTD', 10, 17)
>>> print(student.__dataclass_fields__)
{
'name': Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,default_factory=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD),
'clss': Field(name='clss',type=<class 'int'>,default=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,default_factory=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD),
'stu_id': Field(name='stu_id',type=<class 'int'>,default=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,default_factory=<dataclasses._MISSING_TYPE object at 0x00000217EBF3F460>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)
}
이 메서드는 개체의 모든 필드 정보의 사전을 반환합니다. 필드 이름은 사전의 키이고 값은 필드 정보를 포함하는 Field 클래스입니다.
특정 필드에 액세스
이전 코드에서는 모든 필드 속성에 액세스했습니다. 이제 특정 필드에 액세스해 보겠습니다.
특정 필드에 액세스
>>> print(student.__dataclass_fields__['name'])
Field(name='name',type=<class 'str'>,default=<dataclasses._MISSING_TYPE object at 0x0000022C8E26F460>,default_factory=<dataclasses._MISSING_TYPE object at 0x0000022C8E26F460>,init=True,repr=True,hash=None,compare=True,metadata=mappingproxy({}),_field_type=_FIELD)
이제 일부 필드 값을 변경하는 방법을 알아보겠습니다.
필드 가져오기
파이썬 데이터 클래스의 필드를 사용자 정의하려면 dataclasses 모듈에서 필드를 가져와야 합니다.
import field
from dataclasses import dataclass, field
이제 필드를 사용자 정의할 수 있습니다.
파이썬 데이터 클래스 필드
field(*, default=MISSING, default_factory=MISSING, repr=True, hash=None, init=True, compare=True, 메타데이터=None)
필드 속성을 사용자 정의하기 위해 설정할 수 있는 6개의 선택적 매개변수가 있습니다.
원본 게시물에서 Python Data Class Fields의 각 매개변수에 대해 자세히 알아보세요.
Reference
이 문제에 관하여(파이썬 데이터 클래스 필드), 우리는 이곳에서 더 많은 자료를 발견하고 링크를 클릭하여 보았다 https://dev.to/divshekhar/python-data-class-field-2e51텍스트를 자유롭게 공유하거나 복사할 수 있습니다.하지만 이 문서의 URL은 참조 URL로 남겨 두십시오.
우수한 개발자 콘텐츠 발견에 전념 (Collection and Share based on the CC Protocol.)