Notice: file_put_contents(): Write of 10243 bytes failed with errno=28 No space left on device in /var/www/tgoop/post.php on line 50

Warning: file_put_contents(): Only 8192 of 18435 bytes written, possibly out of free disk space in /var/www/tgoop/post.php on line 50
Artificial stupidity@artificial_stupid P.233
ARTIFICIAL_STUPID Telegram 233
#python

Что такое DataClass и почему его стоит использовать?

Dataclasses – это классы, предназначенные для хранения данных. Суть в том, чтобы не тратить много времени на написание "лишнего" кода, чтобы получить класс для хранения данных. Нам не нужно писать длинную реализацию, переопределять множество методов и пилить собственную логику некоторых операций, т.к. за нас уже сделали достаточно большую часть работы, дав множество плюшек "из коробки".

Если до датаклассов у нас код выглядел примерно так:

class Person():
def __init__(self, first_name, last_name, age, hobby):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.hobby = hobby

То с использованием датаклассов все выглядит чище и красивее:

from dataclasses import dataclass

@dataclass
class Person:
first_name: str
last_name: str
age: int
hobby: str

Помимо уменьшения дополнительного кода, у нас есть и дополнительные плюшки, такие как:
1. Поддержка значений по умолчанию;
2. "Красивое" представление объектов при выводе;
3. Простой перевод в кортеж или словарь;
4. Возможность сделать наш объект frozen, то есть неизменяемым;
5. Возможность настраивать поведение атрибута посредством field и возможность использовать специальный метод __post_init__ для добавления атрибутов уже после инициализации (например, для заполнения атрибута на основе значений других атрибутов);
6. Возможность сравнения атрибутов и сортировки по ним из коробки (то есть нам не надо самим прописывать сравнения).

Стоит отметить, что можно реализовать нечто похожее просто сделав tuple, dict или отдельный класс. А исторически типичным вариантом такой реализации мог бы служить namedtuple. Но количество дополнительных "танцев с бубном" при использовании вышеуказанных вариантов сильно большее, чем при использовании DataClass.

Итого:
Получаем очень удобный способ работы с контейнерами данных в Python, который позволяет писать меньше кода и проще реализовывать полезные для нас операции (сравнение, преобразования после инициализации и т.п.).
👍6



tgoop.com/artificial_stupid/233
Create:
Last Update:

#python

Что такое DataClass и почему его стоит использовать?

Dataclasses – это классы, предназначенные для хранения данных. Суть в том, чтобы не тратить много времени на написание "лишнего" кода, чтобы получить класс для хранения данных. Нам не нужно писать длинную реализацию, переопределять множество методов и пилить собственную логику некоторых операций, т.к. за нас уже сделали достаточно большую часть работы, дав множество плюшек "из коробки".

Если до датаклассов у нас код выглядел примерно так:

class Person():
def __init__(self, first_name, last_name, age, hobby):
self.first_name = first_name
self.last_name = last_name
self.age = age
self.hobby = hobby

То с использованием датаклассов все выглядит чище и красивее:

from dataclasses import dataclass

@dataclass
class Person:
first_name: str
last_name: str
age: int
hobby: str

Помимо уменьшения дополнительного кода, у нас есть и дополнительные плюшки, такие как:
1. Поддержка значений по умолчанию;
2. "Красивое" представление объектов при выводе;
3. Простой перевод в кортеж или словарь;
4. Возможность сделать наш объект frozen, то есть неизменяемым;
5. Возможность настраивать поведение атрибута посредством field и возможность использовать специальный метод __post_init__ для добавления атрибутов уже после инициализации (например, для заполнения атрибута на основе значений других атрибутов);
6. Возможность сравнения атрибутов и сортировки по ним из коробки (то есть нам не надо самим прописывать сравнения).

Стоит отметить, что можно реализовать нечто похожее просто сделав tuple, dict или отдельный класс. А исторически типичным вариантом такой реализации мог бы служить namedtuple. Но количество дополнительных "танцев с бубном" при использовании вышеуказанных вариантов сильно большее, чем при использовании DataClass.

Итого:
Получаем очень удобный способ работы с контейнерами данных в Python, который позволяет писать меньше кода и проще реализовывать полезные для нас операции (сравнение, преобразования после инициализации и т.п.).

BY Artificial stupidity


Share with your friend now:
tgoop.com/artificial_stupid/233

View MORE
Open in Telegram


Telegram News

Date: |

It’s yet another bloodbath on Satoshi Street. As of press time, Bitcoin (BTC) and the broader cryptocurrency market have corrected another 10 percent amid a massive sell-off. Ethereum (EHT) is down a staggering 15 percent moving close to $1,000, down more than 42 percent on the weekly chart. How to create a business channel on Telegram? (Tutorial) 1What is Telegram Channels? To upload a logo, click the Menu icon and select “Manage Channel.” In a new window, hit the Camera icon. Telegram desktop app: In the upper left corner, click the Menu icon (the one with three lines). Select “New Channel” from the drop-down menu.
from us


Telegram Artificial stupidity
FROM American