Maison > Article > développement back-end > Explication détaillée des solutions d'erreur TypeError en python
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 =======================
Ma balle est petit
Ma balle est rougeLa 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!