Comme vous le savez, Python est populaire en tant que langage avec un seuil bas, même pour les débutants en programmation en raison de sa facilité d'écriture, et il y a beaucoup de gens qui disent que le langage dans lequel ils sont nouveaux est Python. Cependant, il existe un anti-motif (main interdite) qui ne devrait pas être fait dans un tel Python, et si un débutant marche dessus sans le savoir, il sera difficile de le gérer. Par conséquent, je voudrais présenter certains des anti-modèles de Python, ** "Variation Naming" ** auxquels les débutants devraient prêter une attention particulière, et ** Assignment by the same name variable definition **, qui est particulièrement fatal.
Le code ci-dessous convertit le contenu de la variable de type tapple tuple
en un type de liste et le combine avec la variable de type liste list
.
À première vue, c'est une opération de données normale, mais cela ne fonctionne pas réellement. J'obtiens une erreur.
>>> list = ["Apple", "Orange", "Grape"]
>>> tuple = ("Peach", "Strawberry")
>>> list.append(list(tuple))
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'list' object is not callable
La cause est sur la première ligne.
Dans l'ensemble, Python a une fonction intégrée standard appelée list ()
qui vous permet de convertir un objet Iterable donné comme argument en un type de liste.
Le contenu de ʻappend () sur la 3ème ligne
list (tuple) essaie d'appeler cette fonction, mais la 1ère ligne définit une variable de liste avec le nom **
list. En conséquence, la destination de référence de «list» a été écrasée. ** ** Donc ** dans ce code,
list se référera maintenant aux variables
[" Apple "," Orange "," Grape "] ʻau lieu de la fonction intégrée list ()
**.
Malheureusement, la fonction list ()
ne peut plus jamais être utilisée dans ce code à moins qu'elle ne soit réaffectée.
Il existe d'autres noms qui sont également fortement déconseillés à utiliser, tels que str
, list
, ʻint,
dict, ʻid
, bool
, etc. Cependant, si vous le définissez réellement, c'est dangereux car vous détruirez la fonction du même nom.
N'utilisez jamais ces noms, même s'il s'agit de code abandonné.
Ma recommandation personnelle est donc de ** les mettre dans le nom de la variable en tant que suffixe **.
Dans l'exemple ci-dessus,
list = ["Apple", "Orange", "Grape"]
tuple = ("Peach", "Strawberry")
,
fruits_list = ["Apple", "Orange", "Grape"]
fruits_tuple = ("Peach", "Strawberry")
Il est recommandé de nommer ** et [nom générique des éléments de la liste] _ [type de données]
** car vous pouvez facilement distinguer le contenu et le type des données contenues.
L'exemple donné cette fois concerne une fonction appelée list ()
, mais ** Python a la caractéristique que vous pouvez librement définir et affecter toutes les variables autres que les mots réservés **, donc si vous ne faites pas attention, vous pouvez écraser les variables Comme vous perdrez l'accès à la fonction, c'est une bonne idée de conserver autant que possible la variable ** "dénomination sans correspondance" **.
Vous devez être conscient des conflits non seulement avec les fonctions intégrées standard, mais également avec les méthodes qui existent dans votre code ou dans des packages importés.
Si vous avez un éditeur qui a une fonction de suggestion de code, il peut être efficace de ** ne pas utiliser si les candidats avec le même nom sont répertoriés dans la suggestion lorsque vous essayez de définir une nouvelle variable ** (l'image ci-dessous est une suggestion de Visual Studio Code). ..
** Accorder plus d'attention aux noms de variables les rendra beaucoup plus lisibles et plus faciles à suivre l'ensemble du processus de code. Cela augmentera la probabilité de détection précoce des bogues et devrait améliorer considérablement la productivité. ** **
Vérifiez la dénomination des variables au fur et à mesure que vous écrivez votre code.
Merci d'avoir lu jusqu'au bout m (_ _) m J'apprécierais que vous me fassiez savoir s'il y a des corrections ou des ajouts.
Recommended Posts