So lösen Sie Python SyntaxError kann nicht dem Funktionsaufruf zuweisen

So lösen Sie Python SyntaxError kann nicht dem Funktionsaufruf zuweisen

Python stützt sich fast ausschließlich auf die Funktionsaufrufe und variablen Erklärungen. Sie ermöglichen es, den Quellcode viele Male neu zu vereinen. Argumente werden verwendet, um Funktionen dynamisch zu aktivieren und relativ ähnliche Funktionen aufzurufen, während bestimmte Werte geändert werden, was zu einem anderen Ergebnis oder einem anderen Anweisungsstrom führt. Wir erhalten eine SyntaxEerror, wenn wir ihn nicht ordnungsgemäß verwenden.

Ein SyntaxError ist ein Fehler der Python -Programmiersprache, die auftritt, wenn ein Programm nicht den vordefinierten Regeln der Sprache folgt. Es ist ein relativ typischer Aspekt des menschlichen Fehlers, der sowohl während der Typisierung als auch bei der Verwendung der Systeme auftritt. Wenn diese Fehlerform erscheint, liefert der Python -Interpreter nützliche Daten, sodass die Mehrheit der Syntaxfehler einfach zu beheben ist.

In diesem Tutorial werden wir uns untersuchen, warum der Fehler „SyntaxError: Kann nicht zuweisen“ in Python -Codes und wie die Behebung erfolgt. Um die Angemessenheit dieses Fehlers zu bewerten, werden wir verschiedene Beispiele durchführen, die ihn veranschaulichen.

Die Quadratwurzel des Arrays bekommen

Aufgrund einer verpassten Klammung oder einer unsachgemäßen variablen Deklaration erfolgt das „SyntaxError: Kann nicht dem Funktionsaufruf zuweisen“, wenn das Programm unerwartet endet, ohne einen Teil des Codes zu vervollständigen. Lassen Sie uns einen Code ausführen, der jeden Wert des Arrays durchführt, die Quadratwurzel dieser Arrays berechnet und ein Array zurückgibt, das die Quadratwurzel der definierten Zahlen enthält:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
Numph als NP importieren
Matplotlib importieren.Pyplot als PLT
SQ_NUM = [25, 81, 100, 121, 144, 169]
Def SQ_ROOT (num):
SQ_ROOTS = []
für n in Zahlen:
n_sqrt = n ** 1.5
SQ_ROOTS.append (n_sqrt)
Return SQ_ROOTS
SQ_ROOT (SQ_NUM) = SQ_ROOTS
Druck (SQ_ROOTS)

Hier haben wir die Bibliotheken Numpy als „NP“ und Matplotlib vorgestellt.Pyplot als „PLT“. Dann haben wir eine Liste von Zufallswerten deklariert und die Elemente der Liste angegeben. Diese Elemente werden in einer Variablen "SQ_NUM" gespeichert. Wir haben die Funktion "sq_root ()" definiert und die definierte Liste als Parameter an die Funktion "SQ_ROOT ()" übergeben ".

Jetzt haben wir die "für" -Schloop angewendet. Wir haben eine Bedingung angewendet, die zeigt, dass jede Zahl in der Liste mit 1 multipliziert wird.5 und dann wird der Wert der Liste inkrementiert. Wir haben den Befehl „Rückgabe“ eingegeben, bei dem der von ihm bereitgestellte Wert einer Variablen zugewiesen wird, und die Ausgabe wird mit der Funktion print () in die Konsole gedruckt.

Wir wollten einen Wert für einen Funktionsaufruf liefern, der zu diesem SyntaxError führte. SQ_ROOT (SQ_NUM) ist der in dieser Instanz verwendete Methodenaufruf. Wir haben versucht, den Wert SQ_ROOTS auf die Variable SQ_ROOT (SQ_NUM) festzulegen. Wann immer wir die Reaktion einer Funktion auf ein Attribut zuweisen müssen, geben wir zuerst die Variable an. Der Parametername, das Vorzeichen der Gleichheit und der Wert dieser Variablen sind in dieser Reihenfolge angeordnet.

Lösung:

Um dies zu beheben, müssen wir die Anordnung der Variablendeklarationen ändern (SQ_ROOTS = SQ_ROOTS (SQ_NUM)). Es kommt gut vor der Anweisung "Print". Das Programm wird erfolgreich ausgeführt und zeigt die Quadratwurzelwerte auf dem Bildschirm an.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
Numph als NP importieren
Matplotlib importieren.Pyplot als PLT
SQ_NUM = [25, 81, 100, 121, 144, 169]
Def SQ_ROOT (num):
SQ_ROOTS = []
für n in num:
n_sqrt = n ** 1.5
SQ_ROOTS.append (n_sqrt)
Druck (SQ_ROOTS)
[5.0, 9.0, 10, 11, 12, 13]

Sie können die folgende Ausgabe überprüfen:

Finden Sie den Prozentsatz der Noten

Anfänger -Python -Lernende neigen dazu, diesen Fehler zu machen, wenn sie die Variablenerklärung und den Funktionsaufruf während des Allokationsprozesses verpassen. Der Parameter, mit dem wir beabsichtigen, den Wert auf der linken Seite des gleichen Vorzeichens (=) zuzuweisen, und die Funktion, die den Wert liefert, sollte auf der rechten Seite sein.

Schauen wir uns dieses Beispiel an, in dem sich der Funktionsaufruf auf der linken Seite befindet und der Name der Variablen rechts ist:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
Numph als NP importieren
Matplotlib importieren.Pyplot als PLT
def pro (m):
erhalten_marks = sum (m)
maximum_marks = len (m) *100
Rundenrunde (((erhalten "/Total_marks)*100, 2)
STD_M = [80, 70, 90, 85, 75]
per (std_m) = total_per
print (Total_per)

Nachdem wir die für dieses Programm erforderlichen Bibliotheken einbezogen hatten. Wir haben zwei Listen mit dem Namen "ERT_MARKS" und "TOTHRAGE_MARKS" erstellt. Wir haben die Len () -Funktion angewendet und sie dann mit 100 multipliziert und auf die Variable „Total_marks“ eingestellt. Wir haben die Anweisung "Rückgabe" eingegeben. Das "bert_marks" ist durch die "Total_marks" geteilt und den Wert mit 100 multipliziert. Wir haben diese Formel angewendet, um den Prozentsatz der Noten des Studenten zu erhalten.

Dann haben wir ein Array erstellt, das die Marken des Schülers enthält. Wir haben den Wert der Funktion per () in der Reihenfolge "per (std_m) = Total_per" zugewiesen. Wir haben den Befehl "Druck" am Ende des Codes angewendet.

Wir können von der Fehleranweisung abziehen, dass wir in der Codezeile 12 einen Fehler haben. Das Hinzufügen der Variablen ist gemäß der Python -Syntax unangemessen.

Lösung:

Wir haben die Positionen des Funktionsaufrufs per (STD_M) und der Variablen "Total_per" umgeführt, um diesen Fehler zu lösen. Infolgedessen wird die Variable "Total_per" dem bereitgestellten Wert der Per () -Funktion zugewiesen.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
Numph als NP importieren
Matplotlib importieren.Pyplot als PLT
def pro (m):
erhalten_marks = sum (m)
Total_marks = len (m) *100
Rundenrunde (((erhalten "/Total_marks)*100, 2)
STD_M = [80, 70, 90, 85, 75]
Total_per = pro (STD_M)
print (Total_per, '%')

Sie können die folgende Ausgabe überprüfen:

Abschluss

In diesem Artikel haben wir über „SyntaxError: Function Call nicht zuweisen.Wenn wir beabsichtigen, einen Funktionsaufruf an die definierte Variable zu delegieren, erhalten wir das Ergebnis „SyntaxError: Der Funktionsaufruf kann nicht zuweisen.Nehmen wir an, der Funktionsaufruf kommt kurz vor der lokalen Variablen. Der Python -Code würde den Code so bewerten, als würde er versuchen, eine einzelne Variable aus dem gleichen Titel wie der Funktionsaufruf zu geben.

Um diesen Fehler zu beheben, müssen wir die ordnungsgemäße Python -Syntax für die Deklaration der definierten Variablen verwenden. Der Name der erforderlichen Variablen steht an erster Stelle, gefolgt vom gleichen Vorzeichen und schließlich die Daten, um diese Variable anzugeben. Bei der Zuweisung eines Funktionswerts eines Funktionsaufrufs einer erforderlichen Variablen sollte sich die Variable auf der linken Seite befinden, und die Methode sollte sich auf der rechten Seite befinden.