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é).
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.)
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).
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).
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. .. ..
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.
Si vous avez des commentaires, veuillez nous le faire savoir. : bonbons: Étudiera,,,,
Recommended Posts