Erreurs courantes en python :
0. Oublier d'écrire les deux-points
dans les instructions if, elif, else, for, while, class, def. Oublier d'ajouter ":"
if spam == 42 print('Hello!')
plus tard conduit à : SyntaxError : syntaxe invalide
2 Utiliser une mauvaise indentation
Python utilise l'indentation pour distinguer les blocs de code, utilisations incorrectes courantes :
print('Hello!') print('Howdy!')
donne : IndentationError : retrait inattendu. Chaque ligne de code dans le même bloc de code doit conserver une indentation cohérente
if spam == 42: print('Hello!') print('Howdy!')
Cause : IndentationError : unindent ne correspond à aucun niveau d'indentation externe. Une fois le bloc de code terminé, l'indentation revient à la position d'origine
if spam == 42: print('Hello!')
, ce qui donne : IndentationError : un bloc indenté est attendu, ":" doit être suivi d'une indentation
3. La variable est non défini
if spam == 42: print('Hello!')
Résultats en : NameError : le nom 'spam' n'est pas défini
4 Lorsque vous obtenez la position d'index de l'élément de liste, vous oubliez d'appeler la méthode len
Lorsque vous obtenez l'élément via la position d'index, vous oubliez d'utiliser la fonction len pour l'obtenir. La longueur de la liste.
spam = ['cat', 'dog', 'mouse'] for i in range(spam): print(spam[i])
donne : TypeError: range() argument de fin entier attendu, liste obtenue.
L'approche correcte est :
spam = ['cat', 'dog', 'mouse'] for i in range(len(spam)): print(spam[i])
Bien sûr, la manière la plus pythonique de l'écrire est de utilisez enumerate
spam = ['cat', 'dog', 'mouse'] for i, item in enumerate(spam): print(i, item)
5. Modifiez la chaîne
String est un objet séquence qui prend en charge l'obtention d'éléments par index, mais il est différent des objets liste.
spam = 'I have a pet cat.' spam[13] = 'r' print(spam)
donne : TypeError : l'objet 'str' ne prend pas en charge l'affectation d'éléments
L'approche correcte devrait être :
spam = 'I have a pet cat.' spam = spam[:13] + 'r' + spam[14:] print(spam)
6. >
num_eggs = 12 print('I have ' + num_eggs + ' eggs.')
num_eggs = 12 print('I have ' + str(num_eggs) + ' eggs.')
num_eggs = 12 print('I have %s eggs.' % (num_eggs))
spam = ['cat', 'dog', 'mouse'] print(spam[3])
spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'} print('The name of my pet zebra is ' + spam['zebra'])
spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'} print('The name of my pet zebra is ' + spam.get('zebra'))
9. L'utilisation de mots-clés comme noms de variables
class = 'algebra'
>>> import keyword >>> print(keyword.kwlist) ['False', 'None', 'True', 'and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif', 'else', 'except', 'finally', 'for', 'from', 'global', 'if', 'import', 'in', 'is', 'lambda', 'nonlocal', 'not', 'or', 'pass', 'raise', 'return', 'try', 'while', 'with', 'yield']
someVar = 42 def myFunction(): print(someVar) someVar = 100 myFunction()
spam = 0 spam++
spam = 0 spam += 1
class Foo: def method1(): print('m1') def method2(self): print("m2") a = Foo() a.method1()
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!