J'utilise beaucoup de dictionnaires comme structure de données dans mon code. Au lieu de retourner plusieurs valeur que Je préfère utiliser un dictionnaire avec l'avantage d'avoir nommé des touches nommées.
Mais avec un dictionnaire imbriqué complexe, il est difficile de naviguer à l'intérieur. Quand j'avais codé avec JS il y a plusieurs années, j'ai aimé le dictionnaire aussi parce que je pouvais appeler sous-partie comme I Découvrez le nouveau J'aimerais avoir des commentaires à ce sujet, comment utilisez-vous un tuple code> comme Python le permet:
chose.stuff.foo code> et l'IDE m'a aidé à la structure. P>
DataClass code> dans Python et je ne suis pas sûr de la raison de cela, sauf pour remplacer un dictionnaire? Pour ce que j'ai lu un code> dataclass code> ne peut avoir la fonction à l'intérieur et que l'initialisation de ses arguments est simplifiée. P>
Dataclass code> ou sur Dictionnaire à Python. P> P>
3 Réponses :
mon prise sur elle.
A Disons que nous construisons un simple carnet d'adresses. En supposant qu'il est juste de stocker certaines données, le puis ailleurs dans l'application: p> C'est un exemple rudimentaire, mais j'espère que cela obtient l'idée. P> Bien sûr, on pourrait discuter pourquoi utiliser D'autres ont écrit sur ce sujet: p> Dataclass code> n'est-il pas pour remplacer nécessairement un dictionnaire. Il est plutôt utilisé comme objet pour contenir des données où il est logique dans la modélisation d'une application. P>
Personne code> peut être un DataClass avec des champs comme
name code>,
phone_number code>, etc. On peut alors utiliser un Dictionnaire pour créer une recherche de
nom code> à
personne code> tel que nous pouvons récupérer cette classe de données par nom. p>
DataClass code> lorsqu'un
nomméTuple code> suffirait? P>
Allez pour cela, est pur OO, c'est bien d'avoir des classes de données pures, surtout si vous traitez de multi-threading. Néanmoins, mon conseil est d'essayer d'insérer cette information uniquement si nécessaire et utilisée (mélangeant la classe de données avec des fonctionnalités). P>
Je travaille avec des données, donc je suis plus dans la programmation fonctionnelle. J'utilise à peine OO (classe, héritage ...) Mais pouvez-vous me dire plus sur plusieurs threading que vous avez souligné.
Les dataclasses sont plus de remplacement pour NamedTeuples, puis des dictionnaires.
tandis que NamedTeuples sont conçus pour être immuables, les données de données peuvent offrir cette fonctionnalité en définissant Si vous êtes dans Type Inc. dans votre code Python, ils entrent vraiment en jeu. P > L'autre avantage est comme si vous avez dit - Dictionnaires imbriqués complexes. Vous pouvez définir des dataclasses comme vos types et les représenter dans des données de données de manière claire et concise. P> Considérez les éléments suivants: P> gelen = true code> dans le décorateur, mais fournit une grande plus grande flexibilité dans l'ensemble. P>
@dataclass
class Stock:
quantity: int = 0