Maintenant que vous pouvez charger votre portfolio depuis des fichiers, vous vous rendez compte que manipuler des dictionnaires partout (data['symbol'], data['quantity']) devient fastidieux et source d'erreurs. Vous voulez une structure de données plus propre et plus sûre pour représenter vos positions d'actions.
Le module Python collections fournit des conteneurs de données spécialisés. namedtuple crée des objets légers avec des champs nommés (comme une classe simple mais plus rapide). Vous pouvez accéder aux données avec position.symbol au lieu de dictionnaire['symbol']. C'est plus lisible, plus rapide, et moins d'erreurs de frappe !
Transformez votre portfolio en structures de données propres et type-safe avec namedtuple.
Créez portfolio_structures.py qui améliore votre étape 1 :
- Position - prend un symbole, une quantité, un prix d'achat et une date d'achat
- Transaction - prend une date, un symbole, une quantité, un prix et un type (achat ou vente)
- Classe Portfolio - A vous de voir sa structure.
Position = namedtuple(...)- structure pour chaque action du portfolioconvertir_vers_positions(portfolio_dict)- convertit les dictionnaires en namedtuplesafficher_positions(positions)- affiche avec la nouvelle structure
- 40-60 lignes incluant les structures, la conversion et l'affichage
- Code plus lisible :
position.symbolau lieu dedata['symbol'] - Adaptation de votre fonction d'affichage de l'Étape 1
- Immutabilité : Les namedtuple ne peuvent pas être modifiés après création
- Types de données : Assurez-vous que quantity est int et purchase_price est float
- Compatibilité : Vos fonctions de l'Étape 1 doivent être adaptées
- Votre choix de structure de données est important, soignez-le !
- Autocomplétion : Votre IDE propose automatiquement
.symbol,.quantity - Performance : Plus rapide que les dictionnaires
- Code plus propre : Plus lisible et maintenable
Toutes les étapes suivantes utiliseront ces structures !