Jak rozwiązać Python „SkładniaSerorror nie może przypisać do wywołania funkcji”

Jak rozwiązać Python „SkładniaSerorror nie może przypisać do wywołania funkcji”

Python opiera się prawie całkowicie na wywołania funkcji i deklaracjach zmiennych. Umożliwiają wiele razy ponowne wydawanie kodu źródłowego. Argumenty są używane do dynamicznego włączenia funkcji i wywoływania względnie podobnych funkcji przy jednoczesnym modyfikowaniu niektórych wartości, co prowadzi do innego wyniku lub strumienia instrukcji. Otrzymamy składnicę, jeśli użyjemy go niewłaściwie.

SkładniaSerorror jest błędem języka programowania Pythona, który ma miejsce, gdy program nie przestrzega predefiniowanych reguł języka. Jest to stosunkowo typowy aspekt błędu ludzkiego, który występuje podczas pisania, a także podczas korzystania z systemów. Ilekroć pojawia się ta forma błędu, interpreter Python dostarcza przydatne dane, dzięki czemu większość błędów składniowych jest prosta.

W tym samouczka. Aby ocenić adekwatność tego błędu, przejdziemy do różnych przykładów, które go ilustrują.

Uzyskanie pierwiastka kwadratowego tablicy

Z powodu pominięcia nawiasu lub niewłaściwej deklaracji zmiennej, „składniowaSerror: nie można przypisać do funkcji wywołania”, za każdym razem, gdy program kończy się nieoczekiwanie bez wypełniania niektórych kodów. Wykonajmy kod, który iteruje każdą wartość tablicy, obliczając pierwiastek kwadratowy tych tablic i zwracając tablicę zawierającą pierwiastek kwadratowy zdefiniowanych liczb:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
importować Numpy jako NP
importować matplotlib.Pyplot as Plt
sq_num = [25, 81, 100, 121, 144, 169]
def sq_root (num):
sq_roots = []
Dla N liczb:
n_sqrt = n ** 1.5
SQ_ROOTS.append (n_sqrt)
zwróć sq_roots
sq_root (sq_num) = sq_roots
Drukuj (sq_roots)

Tutaj wprowadziliśmy biblioteki Numpy jako „NP” i Matplotlib.Pyplot jako „PLT”. Następnie zadeklarowaliśmy listę wartości losowych i określliśmy elementy listy. Te elementy są przechowywane w zmiennej „sq_num”. Zdefiniowaliśmy funkcję „sq_root ()” i przekazaliśmy określoną listę jako parametr do funkcji „sq_root ()”.

Teraz zastosowaliśmy pętlę „for”. Zastosowaliśmy warunek, który pokazuje, że każda liczba na liście zostanie pomnożona przez 1.5, a następnie wartość listy jest zwiększana. Wprowadziliśmy polecenie „return”, w którym podana wartość jest przypisana do zmiennej, a wyjście jest drukowane do konsoli za pomocą funkcji print ().

Zamierzaliśmy dostarczyć wartość wywołania funkcyjnego, co spowodowało tensyntaxSerorror. Sq_root (sq_num) to wywołanie metody używane w tym przypadku. Próbowaliśmy ustawić wartość SQ_ROOTS na zmienną SQ_ROOT (SQ_NUM). Ilekroć musimy przydzielić odpowiedź funkcji na atrybut, najpierw określamy zmienną. Nazwa parametru, znak równości i wartość podana tej zmiennej są ułożone w tej kolejności.

Rozwiązanie:

Aby to naprawić, musimy zmienić układ deklaracji zmiennych (sq_roots = sq_roots (sq_num))). Nadchodzi na długo przed instrukcją „wydruku”. Program wykonuje pomyślnie i wyświetla wartości root kwadratowych na ekranie.

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
importować Numpy jako NP
importować matplotlib.Pyplot as Plt
sq_num = [25, 81, 100, 121, 144, 169]
def sq_root (num):
sq_roots = []
Dla n w num:
n_sqrt = n ** 1.5
SQ_ROOTS.append (n_sqrt)
Drukuj (sq_roots)
[5.0, 9.0, 10, 11, 12, 13]

Możesz sprawdzić następujące dane wyjściowe:

Znalezienie odsetka znaków

Początkujący uczniowie Python zwykle popełniają ten błąd, jeśli przegapią Deklarację zmienną i wywołanie funkcji podczas procesu alokacji. Parametr, z którym zamierzamy przydzielić wartość, powinien znajdować się po lewej stronie znaku równego (=), a funkcja, która zapewnia wartość, powinna być po prawej stronie.

Spójrzmy na ten przykład, w którym wywołanie funkcji znajduje się po lewej stronie, a nazwa zmiennej znajduje się po prawej:

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
importować Numpy jako NP
importować matplotlib.Pyplot as Plt
def per (m):
Uzyskaj_marks = suma (m)
Maximum_marks = len (m) *100
Powrót ((uzyskaj_marks/total_marks)*100, 2)
std_m = [80, 70, 90, 85, 75]
Per (std_m) = total_per
Drukuj (total_per)

Po uwzględnieniu bibliotek wymaganych do tego programu zdefiniowaliśmy funkcję Per () w celu znalezienia procentu znaków. Utworzyliśmy dwie listy o nazwie „Uzyskaj_marks” i „Total_marks”. Zastosowaliśmy funkcję len (), a następnie pomnorzyliśmy ją przez 100 i ustawiliśmy ją na zmienną „Total_marks”. Wprowadziliśmy instrukcję „zwrot”. „Uzyskaj_marki” są podzielone przez „Total_marks” i pomnożone wartość przez 100. Zastosowaliśmy tę formułę, aby uzyskać odsetek znaków ucznia.

Następnie stworzyliśmy tablicę zawierającą znaki ucznia. Przypisaliśmy wartość do funkcji per () w kolejności „Per (std_m) = total_per”. Zastosowaliśmy polecenie „Wydrukuj” na końcu kodu.

Od instrukcji błędów możemy odliczyć, że mamy błąd w wierszu kodu 12, gdy zamierzamy dodać zmienną „Total_Per” do deklaracji wywołania funkcji Per (STD_M). Dodanie zmiennej jest nieodpowiednie według składni Pythona.

Rozwiązanie:

Zmieniliśmy lokalizacje wywołania funkcji Per (STD_M) i zmienną „Total_Per”, aby rozwiązać ten błąd. W rezultacie zmienna „total_per” jest przydzielana do dostarczonej wartości funkcji per ().

1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
importować Numpy jako NP
importować matplotlib.Pyplot as Plt
def per (m):
Uzyskaj_marks = suma (m)
Total_marks = len (m) *100
Powrót ((uzyskaj_marks/total_marks)*100, 2)
std_m = [80, 70, 90, 85, 75]
total_per = per (std_m)
druk (total_per, „%”)

Możesz sprawdzić następujące dane wyjściowe:

Wniosek

W tym artykule rozmawialiśmy o „składniowym ARROR: nie można przypisać do wywołania funkcji.”Kiedy zamierzaliśmy przekazać wywołanie funkcji na zdefiniowaną zmienną, otrzymujemy wynik„ Składnia.„Załóżmy, że wywołanie funkcji pojawia się tuż przed zmienną lokalną. Kod Pythona oceniłby kod, tak jakby próbował nadać wartość jednej zmiennej według tego samego tytułu, co wywołanie funkcji.

Aby naprawić ten błąd, musimy użyć właściwej składni Pythona do deklaracji zdefiniowanej zmiennej. Nazwa wymaganej zmiennej jest najważniejsza, a następnie znak równy, a na koniec dane do określenia tej zmiennej. Przy przypisaniu zwróconej wartości wywołania funkcji do wymaganej zmiennej, zmienna powinna znajdować się po lewej stronie, a metoda powinna znajdować się po prawej stronie.