Параметры класса данных Python
Ниже приведен код функции dataclass в Python.
def dataclass(cls=None, /, *, init=True, repr=True, eq=True, order=False, unsafe_hash=False, frozen=False):
Существует шесть дополнительных параметров, которые принимает класс данных Python:
- в этом
- репре
- уравнение
- приказ
- unsafe_hash.
- замороженный
Мы узнаем об этих параметрах один за другим.
Параметр init. В классе данных Python
Это первый дополнительный параметр в классе данных Python и устанавливается на true по умолчанию. Это создает функцию инициализации для класса с атрибутами класса.
Пример:
@dataclass class Student(): name: str clss: int stu_id: int
В приведенном выше коде мы использовали DataClass Decorator и, таким образом, просто объявили атрибуты класса с помощью подсказки типа.
Когда параметр init настроен на I.e 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, instudent = Student('HTD', 10, 17) TypeError: Student() takes no arguments
Когда в классе нет функции init, это означает, что нет атрибутов классов и, таким образом, класс студента не принимает аргументов.
Читайте о других Параметры класса данных Python от оригинального поста.
Оригинал: “https://dev.to/divshekhar/python-data-class-parameters-b0”