Différenciation entre variables et méthodes avec syntaxe à double underscore
Bonjour ,
Juste une remarque qui prête à confusion pour un débutant pour cause de syntaxe .
Je viens de comprendre que __name__ est une variable de type str tandis que __str__ ou __init__ sont des méthodes .
Ce qui m'a induit en erreur c'est la syntaxe avec les doubles underscores à droit et à gauche .
Ainsi avec un dir(nomd1modulequelquonque) , le débutant que je suis fait difficilement la différence
entre les variables , les méthodes , les méthodes privées et les fonctions .Bref dir() n'indique pas le type .
Et pour courronner le tout , on dit souvent aux débutants de lire la documentation des librairies mais
je les trouve souvent illisibles et peu exploitables . Pas toutes les documentations mais c'est rare qu'elles
mettent des exemples concrets ...
Si vous avez quelques techniques supplémentaires pour y voir plus clair et aider à lire les documentations
, ce n'est pas de refus ...
Bonjour Sébastien
Il est vrai qu'au début tout cela peut créer de la confusion mais il ne faut pas te formaliser avec celà. Comme tu as peut-être pu le remarquer Thibault utilise le terme de variable ou fonction "magique" à dessein car il s'agit là de notion particulièrement avancée de python.
Dans un premier temps, si tu as un doute, n'hésites pas à t'appuyer sur ton IDE qui t'indiquera, pour la plupart, si s'agit d'une variable ou d'une fonction/méthode (les méthodes étant des fonctions contenues dans une classe) en rajoutant des parenthèses à la fin. Si lorsque tu passes la souris sur les parenthèses tu as des informations de paramètres qui apparaissent c'est une fonction/methodes, sinon c'est une variable. Ce n'est pas une règle absolue mais elle te permettra de t'en sortir dans la plupart des cas.
Pour ce qui est de la doc, l'utilisation de dir() et help() est très bien mais cela reste dépendant des docstring réalisées, généralement complète pour la librairie standard, et donc aléatoire. Pour ce point je te recommande d'aller sur python.org pour avoir plus de détail souvent assortis d'exemple.
Enfin pour la différenciation concernant les methodes/variable privée, méthode/variable spéciale avec un ou deux underscore avant et/ou après je te recommande ces articles qui devraient t'éclairer sur l'ensemble de ces questions:
https://www.gabrieltrouve.fr/blog/property-et-attribut-priv%C3%A9/
https://www.pythoniste.fr/python/la-signification-des-traits-de-soulignement-_-en-python/
En espèrant avoir répondu à ta question.
Inscris-toi
(c'est gratuit !)
Tu dois créer un compte pour participer aux discussions.
Créer un compte