Heim > Backend-Entwicklung > Python-Tutorial > Zusammenfassung häufiger Fehler, die Anfänger beim Erlernen von Python machen

Zusammenfassung häufiger Fehler, die Anfänger beim Erlernen von Python machen

怪我咯
Freigeben: 2017-04-06 11:48:14
Original
1235 Leute haben es durchsucht

Ich habe kürzlich Python gelernt und jetzt habe ich einige häufige Fehler wie folgt zusammengefasst:

1) Ich habe vergessen, am Ende von if , elif , else zu setzen , for , while , class , def-Anweisung Hinzugefügt: (verursacht „SyntaxError: ungültige Syntax“) Dieser Fehler tritt in Code auf, der dem folgenden ähnelt:

if spam == 42 print('Hello!')
Nach dem Login kopieren

2) Verwenden Sie = anstelle von == (verursacht „SyntaxError : ungültige Syntax") = ist ein Zuweisungsoperator und == ist eine Gleichheitsvergleichsoperation. Dieser Fehler tritt im folgenden Code auf:

if spam = 42: print('Hello!')
Nach dem Login kopieren

3) Falsche Verwendung der Einrückung. (Ergibt „IndentationError: unerwarteter Einzug“, „IndentationError: unindent entspricht keiner äußeren Einrückungsebene“ und „IndentationError: erwarteter Einrückungsblock“). Denken Sie daran, dass die Einrückung nur nach Anweisungen zunimmt, die mit: enden, und anschließend wiederhergestellt werden muss vorheriges Einrückungsformat. Dieser Fehler tritt im folgenden Code auf:

print('Hello!') 
   print('Howdy!')
Nach dem Login kopieren

oder:

if spam == 42: 
print('Hello!') 
print('Howdy!')
Nach dem Login kopieren

oder:

 if spam == 42: 
print('Hello!')
Nach dem Login kopieren

4) Ich habe vergessen, len( in der for-Schleife aufzurufen Anweisung) (verursacht „TypeError: ‚list‘-Objekt kann nicht als Ganzzahl interpretiert werden“) Normalerweise möchten Sie die Elemente einer Liste oder eines Strings nach Index durchlaufen, was den Aufruf der Funktion „range()“ erfordert. Denken Sie daran, den len-Wert anstelle der Liste zurückzugeben. Der Fehler tritt im folgenden Code auf:

spam = ['cat', 'dog', 'mouse'] 
for i in range(spam): 
     print(spam[i])
Nach dem Login kopieren

5) Versuchen Sie, den Wert von string zu ändern (was zu „TypeError: ‚str‘-Objekt unterstützt keine Elementzuweisung“ führt). string ist ein unveränderlicher Datentyp. Der Fehler tritt in Code wie:

spam = 'I have a pet cat.' 
spam[13] = 'r' print(spam)
Nach dem Login kopieren

auf, wenn Sie dies tatsächlich tun möchten:

spam = 'I have a pet cat.' 
spam = spam[:13] + 'r' + spam[14:] print(spam)
Nach dem Login kopieren

6) Versuchen Sie, einen Wert, der kein String ist, mit einem String zu verketten (was zu „TypeError : 'int'-Objekt kann nicht implizit in str konvertiert werden") Dieser Fehler tritt in Code wie:

numEggs = 12 print('I have ' + numEggs + ' eggs.')
Nach dem Login kopieren

auf, wenn Sie dies tatsächlich tun möchten:

numEggs = 12 print('I have ' + str(numEggs) + ' eggs.')
Nach dem Login kopieren

oder:

 numEggs = 12 print('I have %s eggs.' % (numEggs))
Nach dem Login kopieren

7) Es wurde vergessen, Anführungszeichen am Anfang und Ende der Zeichenfolge einzufügen (was zu „SyntaxError: EOL während des Scannens des Zeichenfolgenliterals“ führte). Dieser Fehler tritt im folgenden Code auf:

print(Hello!') 或者: print('Hello!)
Nach dem Login kopieren

oder:

myName = 'Al' print('My name is ' + myName + . How are you?')
Nach dem Login kopieren

8) Rechtschreibfehler bei Variablen- oder Funktionsnamen (was zu „NameError: Name ‚fooba‘ ist nicht definiert“) führt. Dieser Fehler tritt im folgenden Code auf:

foobar = 'Al' print('My name is ' + fooba)
 或者:
spam = ruond(4.2) 
或者: 
spam = Round(4.2)
Nach dem Login kopieren

9) Methodenname Tippfehler außerhalb des gültigen Bereichs") Dieser Fehler tritt im folgenden Code auf:

spam = 'THIS IS IN LOWERCASE.' 
spam = spam.lowerr()
Nach dem Login kopieren

11) Verwendung eines nicht vorhandenen Wörterbuchschlüsselwerts (was zu „KeyError: 'spam'" führt) ") Dieser Fehler tritt im folgenden Code auf:

spam = ['cat', 'dog', 'mouse'] 
print(spam[6])
Nach dem Login kopieren

12) Beim Versuch, Python-Schlüsselwörter als Variablennamen zu verwenden (was zu „SyntaxError: invalid syntax“ führt) können Python-Schlüsselwörter nicht als Variablennamen verwendet werden, der Fehler Kommt in Code vor wie:

spam = {'cat': 'Zophie', 'dog': 'Basil', 'mouse': 'Whiskers'}
print('The name of my pet zebra is ' + spam['zebra'])
Nach dem Login kopieren

Die Schlüsselwörter von Python3 sind: and, as, Assert, Break, Class, Continue, Def, Del, Elif, else, Except, False, Final, For, From, global, if, import, in, is, lambda, None, nonlocal, not, or, pass, raise, return, True, try, while, with, yield

class = 'algebra'
Nach dem Login kopieren
13) Verwendung des Inkrementoperators in einem neuen Variablendefinition (verursacht „NameError: Name ‚foobar‘ ist nicht definiert“). Verwenden Sie beim Deklarieren einer Variablen nicht 0 oder eine leere Zeichenfolge. Auf diese Weise ist der Satz spam += 1 mit dem Inkrementoperator gleich spam = spam + 1, was bedeutet, dass spam einen gültigen Anfangswert angeben muss. Dieser Fehler tritt im folgenden Code auf:

14) Verwenden Sie lokale Variablen in Funktionen, bevor Sie lokale Variablen definieren (zu diesem Zeitpunkt gibt es eine globale Variable mit demselben Namen wie die lokale Variable) (was zu „ UnboundLocalError: Lokale Variable 'foobar', auf die vor der Zuweisung verwiesen wird") Es ist sehr kompliziert, eine lokale Variable in einer Funktion zu verwenden, wenn es eine globale Variable mit demselben Namen gibt. Als Faustregel gilt: Wenn in der Funktion etwas definiert ist, wenn Sie wird nur in der Funktion verwendet. Sie ist lokal, andernfalls handelt es sich um eine globale Variable. Das bedeutet, dass Sie sie nicht als globale Variable in einer Funktion verwenden können, bevor Sie sie definiert haben. Der Fehler tritt im folgenden Code auf:

spam = 0 
spam += 42 
eggs += 42
Nach dem Login kopieren

15) Es wird versucht, mit range() eine Liste von Ganzzahlen zu erstellen (was zu „TypeError: ‚range‘-Objekt unterstützt keine Elementzuweisung“ führt). Manchmal kommt es vor Ich möchte eine Liste mit einer geordneten Liste von Ganzzahlen erhalten, daher scheint range() eine gute Möglichkeit zu sein, diese Liste zu generieren. Sie müssen jedoch bedenken, dass range() ein „Range-Objekt“ zurückgibt, nicht den tatsächlichen Listenwert. Der Fehler tritt im folgenden Code auf:

someVar = 42 
def myFunction(): 
   print(someVar) 
   someVar = 100 
   myFunction()
Nach dem Login kopieren

Vielleicht möchten Sie Folgendes tun:

spam = range(10) 
spam[4] = -1
Nach dem Login kopieren

(Hinweis: In Python 2 funktioniert spam = range(10) Ja, weil range() in Python 2 einen Listenwert zurückgibt, aber in Python 3 der obige Fehler auftritt)

spam = list(range(10)) 
spam[4] = -1
Nach dem Login kopieren
16) Der Fehler liegt in den Inkrementierungs- und Dekrementierungsoperatoren ++ oder --. (Ergibt „SyntaxError: ungültige Syntax“) Wenn Sie an andere Sprachen wie C++, Java, PHP usw. gewöhnt sind, möchten Sie möglicherweise versuchen, eine Variable mit ++ oder -- zu erhöhen und zu dekrementieren. In Python gibt es keinen solchen Operator. Der Fehler tritt im folgenden Code auf:

Vielleicht möchten Sie Folgendes tun:

spam = 1 
spam += 1
Nach dem Login kopieren

17)忘记为方法的第一个参数添加self参数(导致“TypeError: myMethod() takes no arguments (1 given)”) 该错误发生在如下代码中:

class Foo(): def myMethod(): 
       print('Hello!') a = Foo() a.myMethod()
Nach dem Login kopieren


 

Das obige ist der detaillierte Inhalt vonZusammenfassung häufiger Fehler, die Anfänger beim Erlernen von Python machen. Für weitere Informationen folgen Sie bitte anderen verwandten Artikeln auf der PHP chinesischen Website!

Verwandte Etiketten:
Quelle:php.cn
Erklärung dieser Website
Der Inhalt dieses Artikels wird freiwillig von Internetnutzern beigesteuert und das Urheberrecht liegt beim ursprünglichen Autor. Diese Website übernimmt keine entsprechende rechtliche Verantwortung. Wenn Sie Inhalte finden, bei denen der Verdacht eines Plagiats oder einer Rechtsverletzung besteht, wenden Sie sich bitte an admin@php.cn
Beliebte Tutorials
Mehr>
Neueste Downloads
Mehr>
Web-Effekte
Quellcode der Website
Website-Materialien
Frontend-Vorlage