Maison  >  Article  >  développement back-end  >  Explication détaillée des solutions d'erreur TypeError en python

Explication détaillée des solutions d'erreur TypeError en python

高洛峰
高洛峰original
2017-03-27 16:52:1614390parcourir

Les novices rencontreront de nombreux pièges lors de l'apprentissage de Python. Parlons de l'un d'entre eux en détail ci-dessous.

Lors de l'écriture de programmes orientés objet en python, les novices peuvent rencontrer l'erreur TypeError : ce constructeur ne prend aucun argument.

Par exemple, le programme suivant :

class Ball:
def _init_(self,color,size,direction):
self.color=color
self. taille= taille
                                                                                    utiliser utiliser utiliser utiliser ’ ’      ‐ ‐ ‐ ‐ self.direction=direction

                                                                                             s ’ s ’ s ’ s ’ s t à myBall=Ball("rouge" ,"small","down")
print "Je viens de créer une balle."
print "Ma balle est",myBall.size
print "Ma balle est",myBall.color
print "La direction de ma balle est",myBall.direction
print "Maintenant, je vais faire rebondir la balle"
print
myBall.bounce()
print "Maintenant, la direction de la balle est", myBall.direction


signalera une erreur lors de l'exécution :

====================== == RESTART : H:pythonbounce1.py =======================

Traceback (dernier appel le plus récent) :

Fichier "H : pythonbounce1.py", ligne 11, dans

myBall=Ball("red","small","down")
TypeError : ce constructeur ne prend aucun argument


La raison de l'erreur est que le format d'écriture du constructeur en python est __init__ au lieu de _init_, c'est-à-dire qu'il y a des doubles traits de soulignement des deux côtés de init, pas un seul trait de soulignement.

est modifié comme suit :

class Ball:

def __init__(self,color,size,direction):

self.color=color

self.size= taille

Self.direction = Direction

DEF BOUNCE (SELF) :
Si Self.direction == "DOWN" :
Self.direction = "Up"

MyBall =Ball("red","small","down")
print "Je viens de créer une balle."
print "Ma balle est",myBall.size
print "Ma balle est" , myBall.color
print "La direction de ma balle est",myBall.direction
print "Maintenant, je vais faire rebondir la balle"
print
myBall.bounce()
print " Maintenant, la direction de la balle est "myBall.direction


Voici le résultat de course correct :

================== == ==== RESTART : H:pythonbounce1.py =======================

Je viens de créer une balle.

Ma balle est petit

Ma balle est rouge

La direction de ma balle est vers le bas
Maintenant, je vais faire rebondir la balle

Maintenant, la direction de la balle est vers le haut

Ce qui précède est le contenu détaillé de. pour plus d'informations, suivez d'autres articles connexes sur le site Web de PHP en chinois!

Déclaration:
Le contenu de cet article est volontairement contribué par les internautes et les droits d'auteur appartiennent à l'auteur original. Ce site n'assume aucune responsabilité légale correspondante. Si vous trouvez un contenu suspecté de plagiat ou de contrefaçon, veuillez contacter admin@php.cn