Not-a-Hub
Not-a-Hub copied to clipboard
Article sur la mutabilité des variables en python
Plusieurs développeurs qui apprennent python alors qu'ils savent déjà programmer dans des langages de plus bas niveau (notamment C et C++) ont du mal à complètement saisir le fonctionnement des variables, du passages des variables aux fonctions, du scope des variables et de la notion de mutabilité.
Ici est un exemple d'une très longue discussion sur le sujet: https://discord.com/channels/323076998576603137/358724995159031820/955386313698320395
Ici est un autre exemple de développeur C qui éprouve des difficultés en python: https://discord.com/channels/323076998576603137/358724995159031820/955447473340555324
Je propose d'écrire un article en long en large qui viendrait apporter tous les éclaircissements sur le sujet. Dans cet article, je pense qu'il sera judicieux d'expliquer:
- La nature complètement orienté-objet de python (aucune primitive, tout boxé dans des objets)
- La différence entre un objet immuable (bool, int, float, str, bytes, tuple, frozenset) et muable (bytearray, list, dict, set, object)
- La notion de scope, comment python remonte les fonctions dans l'ast pour lire des variables, où python sauvegarde les variables (par défaut, nonlocal, global)
Quelques liens, de quoi s'inspirer
- https://zestedesavoir.com/tutoriels/3163/variables-scopes-et-closures-en-python/
- https://discord.com/channels/323076998576603137/358724995159031820/955394903855202324
- https://discord.com/channels/323076998576603137/358724995159031820/694232315135524945
D'ailleurs je me dis que ce tutoriel pourrait avoir sa place sur Zeste de Savoir... :thinking: