Kiedy napisałem ten kod:

b = 5
a = b
c = a
print(a)
print(z=c*a)
print(z+b)

Mam ten błąd:

TypeError: 'z' is an invalid keyword argument for print()

Postanowiłem więc stworzyć zmienną z i zmieniłem kod na ten:

b = 5
a = b
c = a
print(a)
z
print(z=c*a)
print(z+b)

Nadal mam ten sam błąd:

TypeError: 'z' is an invalid keyword argument for print()

Zadziałało, gdy napisałem:

b = 5
a = b
c = a
print(a)
z=c*a
print(z)
print(z+b)

Dlaczego przy pierwszych dwóch próbach otrzymuję błąd i co oznacza „nieprawidłowy argument słowa kluczowego dla funkcji print ()”?

1
imsa 1 kwiecień 2020, 13:11

4 odpowiedzi

Najlepsza odpowiedź

Wbudowana funkcja print () po prostu drukuje wszystko, co w nawiasach jest zwracane.

z = c * a Nic nie „zwraca”, po prostu definiuje, czym jest z.

Kiedy piszesz z = c * a, a następnie print(z), podanie zmiennej z zwraca jej wartość, a więc instrukcja print ma wynik do wydrukowania.

1
Caleb Mackle 1 kwiecień 2020, 10:21

W Pythonie print jest funkcją, co oznacza, że nie można w niej deklarować ani przypisywać wartości do zmiennych. W niektórych funkcjach można określić parametry, takie jak encoding="" w funkcji otwartej, w której kodowanie jest słowem kluczowym. W instrukcji print nie ma słowa kluczowego „z”. Ostatnim razem zadziałało, ponieważ przypisałeś zmienną przed instrukcją print, a następnie ją wydrukowałeś.

Spróbuj przeprowadzić podstawowe badania, zanim o to poprosisz, ponieważ nie jest to zbyt skomplikowane

0
incarnadine 1 kwiecień 2020, 10:17

Nie możesz przypisać wartości do z w funkcji print, która jest związana z drugą linią drukowania, jeśli drukujesz dodatek samodzielnie lub drukujesz z po przypisaniu mu wartości w osobnym wierszu.

0
Ahmed Hani 1 kwiecień 2020, 10:35

Jeśli używasz Pythona 3.8, jest to możliwe dzięki :=, znanemu operatorowi morsa, sprawdź definicje tutaj Spróbuj tego:

b = 5
a = b
c = a
print(a)
print(z:=c*a)
print(z+b)

Wynik:

5
25
30
0
Mohsen 20 kwiecień 2020, 07:49