Utilisation de la classe Python pour l'ingénierie des données

1. Collections de champs plus faciles

Si vous évitez catégoriquement l'utilisation de classes, il est facile de vous retrouver dans une situation où vous réinventez simplement vos propres "classes ad hoc" en utilisant d'autres structures de données intégrées, comme des listes ou des dicts.

Par exemple, vous pourriez vous retrouver avec de nombreuses listes ou dicts qui partagent les mêmes clés pour accéder à différents types de données associées à un seul objet logique :

car_colors[23] = 'yellow'  # Color of Car 23
car_mileage[23] = 38189.4  # Mileage of Car 23

cars[23].color = 'yellow'
cars[23].mileage = 38189.4

Vous n'aurez également plus besoin de passer de gros tuples de choses d'une fonction à l'autre.

2. La capacité d'enchaîner des objets et de les laisser interagir de manière expressive

Laissez le code parler en premier :

La version POO

if not garage.is_full:
    garage.add(my_car)
    my_car.turn_off()
    garage.close()

if not is_garage_full(garage):
    add_car_to_garage(my_car, garage)
    turn_off_car(my_car)
    close_garage(garage)

Dans ce cas, il est utile d' encapsuler ces comportements en créant des méthodes sur vos classes Button et Car afin que d'autres objets puissent appeler ces méthodes et modifier l'état interne du Button ou de la Car sans savoir comment cette opération est implémentée.

Surtout lorsque vous avez beaucoup de comportement sur vos objets, il est utile de tout avoir au même endroit et sous un même toit qui est l'objet lui-même. De cette façon, vous pouvez enchaîner des objets et les laisser interagir d'une manière expressive difficile à imiter dans un style de codage procédural.

3. Classe de données

Une classe de données est une classe contenant généralement principalement des données, bien qu'il n'y ait pas vraiment de restrictions. Il est créé à l'aide du @dataclassdécorateur, comme suit :

from dataclasses import dataclass

@dataclass
class DataClassCard:
    rank: str
    suit: str

>>> queen_of_hearts = DataClassCard('Q', 'Hearts')
>>> queen_of_hearts.rank
'Q'
>>> queen_of_hearts
DataClassCard(rank='Q', suit='Hearts')
>>> queen_of_hearts == DataClassCard('Q', 'Hearts')
True

class RegularCard:
    def __init__(self, rank, suit):
        self.rank = rank
        self.suit = suit

>>> queen_of_hearts = RegularCard('Q', 'Hearts')
>>> queen_of_hearts.rank
'Q'
>>> queen_of_hearts
<__main__.RegularCard object at 0x7fb6eee35d30>
>>> queen_of_hearts == RegularCard('Q', 'Hearts')
False

Appel à l'action

Si vous trouvez le guide utile, n'hésitez pas à applaudir et à me suivre. Rejoignez medium via ce lien pour accéder à tous les articles premium de moi et de tous les autres écrivains géniaux ici sur medium.

Suggested posts

Créer un environnement de travail sûr

Créer un environnement de travail sûr

« Il me protégera quand je serai en danger. Il me cachera dans sa tente.

Réseau TV Twitter

Réseau TV Twitter

Ce qui est vieux est à nouveau nouveau et ce qui était autrefois la chose brillante et scintillante semble maintenant terne. Je ne parle pas du retour des jeans JNCO parmi les enfants cool du centre-ville avec d'autres modes de la fin des années 1990.

Related posts

La révolution du lieu de travail : les meilleurs experts discutent du travail hybride et à distance

La révolution du lieu de travail&nbsp;: les meilleurs experts discutent du travail hybride et à distance

Dans le paysage commercial en évolution rapide d'aujourd'hui, le concept de travail hybride et à distance a pris un élan sans précédent. Alors que les entreprises continuent de s'adapter à l'évolution des besoins et des attentes de leurs employés, des experts de divers domaines se sont réunis pour discuter des avantages, des défis et de l'avenir de cette façon de travailler transformatrice.

Conversations dangereuses

Conversations dangereuses

Si nous voulons continuer à prospérer sur cette planète, nous allons devoir avoir des conversations dangereuses. Celles qui remettent en question ce que nous avons fait, ce que nous faisons et ce que nous sommes actuellement sur le point de continuer à faire (ou prévoyons de faire).

Recherche d'informations sur les noms de domaine

Un extrait de Small, Sharp Software Tools par Brian P. Hogan

Recherche d'informations sur les noms de domaine

Lorsque vous faites une demande à facebook.com, votre ordinateur recherche le nom de domaine pour traduire ce nom de domaine en une adresse IP afin que votre ordinateur puisse établir cette connexion.

Financement de l'élimination du carbone au cours de l'exercice 24

La répartition des demandes de crédits de Carbon180 selon les filières

Financement de l'élimination du carbone au cours de l'exercice 24

Par Alyson Lee, conseillère en gestion des affaires gouvernementales Le processus annuel d'affectation des crédits du gouvernement fédéral est au cœur de nos efforts pour financer l'élimination du dioxyde de carbone (CDR). Chaque année, Carbon180 soumet des demandes à divers bureaux du Congrès pour aider à orienter les flux de dollars de l'année prochaine.