Les messages d'erreur Python sont spécifiques et faciles à comprendre "ga" (... AAA yyy BBB)

Objectif

Je n'ai pas assez d'expérience pour le comparer à quoi que ce soit, ** Les messages d'erreur Python sont concrets et faciles à comprendre ** Je sens ça. Par conséquent, l'erreur n'est pas seulement un rapide coup d'œil Pour lire le contenu sérieusement Je pense que c'est un raccourci pour la résolution des erreurs.

Ceci est un article pour montrer de tels sentiments.

... AAA yyy BBB Le supplément ** ... AAA yyy BBB ** signifie que l'ordre des éléments à l'origine de l'erreur est affiché sérieusement. Je l'ai écrit dans le sens où ce sera fait.

Comme je le montrerai plus tard, simplement

TypeError: unsupported operand type(s) for *: 'generator' and 'float'

Il se réfère à l'affichage comme (la dernière moitié).

Exemple de message d'erreur

Le code affiché ici sert à émettre un message d'erreur. Ce n'est pas du code qui peut faire exactement les mêmes erreurs. Je répète. C'est le code pour émettre un message d'erreur. (Cependant, j'ai vu la même erreur dans un code légèrement plus déroutant.)

Erreur 1

C'est le cas où une erreur de type ** TypeError ** apparaît.

Le code est ci-dessous.

gen_erro1.py


def my_range(first=0, last=10, step=1):
    number = first
    while number < last:
        yield number
        number += step
ranger = my_range(1, 5)
ranger2 = ranger * 2.0 #<--Code incompréhensible pour émettre une erreur
for x in ranger:
    print(x)

L'affichage d'erreur est le suivant.

C:\_temp_work\error1>python gen_error1.py
Traceback (most recent call last):
  File "gen_error1.py", line 7, in <module>
    ranger2 = ranger * 2.0
TypeError: unsupported operand type(s) for *: 'generator' and 'float'

... AAA yyy BBB Dans ce sens Pour 'générateur' et 'flotter' J'ai essayé de faire fonctionner * Vous pouvez voir qu'il n'est pas pris en charge **. ** ** Pour un code un peu plus compliqué, **'generator' Quand 'float' Avec les informations qu'ils appellent dans cet ordre ** Vous remarquerez probablement dans un court laps de temps ce qui ne va pas (comme ce qui est décevant).

Erreur 2

C'est le cas où une erreur de type ** TypeError ** apparaît.

Le code est ci-dessous.

gen_error2.py


def my_range(first=0, last=10, step=1):
    number = first
    while number < last:
        yield number
        number += step
ranger = my_range(1, 5)
ranger2 = 2.0 * ranger #<--Code incompréhensible pour émettre une erreur
for x in ranger:
    print(x)

Le contenu de l'erreur est le suivant.

C:\_temp_work\error1>python gen_error2.py
Traceback (most recent call last):
  File "gen_error2.py", line 7, in <module>
    ranger2 = 2.0 * ranger
TypeError: unsupported operand type(s) for *: 'float' and 'generator'

C:\_temp_work\error1>

... AAA yyy BBB Dans ce sens «Flotter» et «générateur» J'ai essayé de faire fonctionner * Vous pouvez voir qu'il n'est pas pris en charge **. ** ** **'float' Quand 'generator' Avec les informations qu'ils appellent dans cet ordre ** Vous remarquerez probablement dans un court laps de temps ce qui ne va pas (comme ce qui est décevant).

Résumé

Je pense que c'est un résultat naturel en termes de composition du message d'erreur, mais j'ai senti que c'était facile à comprendre. .. ..

Lié (personne)

Choses qui ne sont pas directement liées

Utilisez python sans stress! (Familiarisez-vous avec le générateur. Il semble que ce soit depuis 1975.)

Utilisez python sans stress! (En Python, tout est implémenté en tant qu'objet) Utilisez python sans stress! (Près de Pylint) Utilisez python sans stress! (Expression et déclaration) Apprenez soigneusement Python en anglais et en japonais.

à partir de maintenant

Si vous avez des commentaires, veuillez nous le faire savoir. : bonbons: Étudiera,,,,

Recommended Posts

Les messages d'erreur Python sont spécifiques et faciles à comprendre "ga" (... AAA yyy BBB)
Les messages d'erreur Python sont spécifiques et faciles à comprendre "ga" (avant cela, deux points (:) et point-virgule (;))
Les messages d'erreur Python sont spécifiques et faciles à comprendre "ga" (SyntaxError sur le côté fermant des commentaires triples "" ")
Les messages d'erreur Python sont concrets et faciles à comprendre "ga" (Erreur d'index: index de liste hors limites avec l'élément [0])
Expressions régulières faciles et solides à apprendre en Python
Notation d'inclusion de liste Python facile à oublier
Envoyer un message à Skype et Chatwork en Python
Autoriser vim quickfix à accéder aux messages d'erreur Python
Ce n'est pas facile d'écrire Python, c'est facile d'écrire numpy et scipy
API Nifty Cloud facile à utiliser avec botocore et python
Conseils pour coder courts et faciles à lire en Python
Cinq types de données Python utiles faciles à oublier
Introduction à la vérification des effets Rédaction des chapitres 4 et 5 en Python
PyArmor ~ Un moyen facile de chiffrer et de fournir du code source Python ~