파이썬 데이터 클래스 매개변수

2061 단어 python

파이썬 데이터 클래스 매개변수



아래 코드는 파이썬에서 데이터 클래스의 함수 정의입니다.

def dataclass(cls=None, /, *, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False):


파이썬 데이터 클래스가 취하는 6개의 선택적 매개변수가 있습니다:
  • 초기화
  • 대표
  • eq
  • 주문
  • unsafe_hash
  • 냉동

  • 우리는 이러한 매개변수에 대해 하나씩 배울 것입니다.

    Python 데이터 클래스의 초기화 매개변수



    이것은 파이썬 데이터 클래스의 첫 번째 선택적 매개변수이며 기본적으로 True로 설정됩니다. 이렇게 하면 클래스 속성이 있는 클래스에 대한 초기화 함수가 생성됩니다.

    예시:

    @dataclass
    class Student():
        name: str
        clss: int
        stu_id: int
    


    위의 코드에서 우리는 데이터 클래스 데코레이터를 사용했고 따라서 유형 힌트를 사용하여 클래스 속성을 선언했습니다.

    초기화 매개변수가 기본값인 True로 설정된 경우. 코드는 init 함수가 정의된 단순 클래스로 변환됩니다.

    class Student():
        def __init__(self,name,clss,stu_id):
            self.name = name
            self.clss = clss
            self.stu_id = stu_id
    


    클래스 속성에 액세스할 수 있습니다.

    예시:

    액세스 클래스 속성

    student = Student('HTD', 10, 17)
    
    >>> print(student.name)
    
    HTD
    
    >>> print(student.clss)
    
    10
    
    >>> print(student.stu_id)
    
    17
    


    이제 init 매개변수를 false로 설정하고 효과를 살펴보겠습니다.

    @dataclass(init=False)
    class Student():
        name: str
        clss: int
        stu_id: int
    
    
    >>> student = Student('HTD', 10, 17)
    



    Traceback (most recent call last):
      File ".\main.py", line 11, in <module>
        student = Student('HTD', 10, 17)   
    TypeError: Student() takes no arguments
    


    클래스에 초기화 함수가 없으면 클래스 속성이 없으므로 Student 클래스는 인수를 취하지 않습니다.

    원본 게시물에서 기타Python Data Class Parameters에 대해 읽어보세요.

    좋은 웹페이지 즐겨찾기