Witam
a = 0
a == 1
Dlaczego Python nie zgłasza błędu? A jeśli jest ok to do czego to można wykorzystać?
Pozdrawiam
Radek Głębicki
Witam
a = 0
a == 1
Dlaczego Python nie zgłasza błędu? A jeśli jest ok to do czego to można wykorzystać?
Pozdrawiam
Radek Głębicki
A czemu ma zgłaszać błąd? Przecież jest OK, przypisanie zero do a
, a potem wyrażenie logiczne, które akurat powinno być False
.
Dlaczego Python nie zgłasza błędu?
Bo jest to poprawne
A jeśli jest ok to do czego to można wykorzystać?
Pierwsze do przypisania wartości 0
do a
a drugie do sprawdzenia czy a
jest równe 1
.
szweszwe napisał(a):
Dlaczego Python nie zgłasza błędu?
Bo jest to poprawne
A jeśli jest ok to do czego to można wykorzystać?
Pierwsze do przypisania wartości
0
doa
a drugie do sprawdzenia czya
jest równe1
.
No, ale dlaczego nie czepia się, że brak np if ? Dlatego pytam jak to wykorzystać? Gdzie?
Radosław Głębicki napisał(a):
No, ale dlaczego nie czepia się, że brak np if ? Dlatego pytam jak to wykorzystać? Gdzie?
A w ktorym jezyku sie czepia? Mozesz rownie dobrze wpisac "5" i to tez jest poprawne.
Jak to wykorzystac? Np. w interaktywnym interpreterze
A w ktorym jezyku sie czepia?
Np w Javie:
int a;
a = 0; // działa
a == 1; // błąd kompilacji: not a statement
można wykorzystać na przykład do tego że wyrażenie jest leniwie ewaluowane i przerwie się w pierwszym możliwym miejscu gdzie wynik jest znany, np:
a == 1 or print('nie zgadza sie')
jeśli a == 1
to wynik a == 1 or cokolwiek
jest już znany więc na tym etapie będzie zwrócone true
, Jeśli wyrażenie a == 1
się nie zgadza, to prawa część będzie musiała zostać sprawdzona - w tym wypadku sprowadzi się to do warunkowego wywołania jakiejś funkcji (np print)
więc powyższe będzie równoznaczne z:
if a != 1:
print('nie zgadza sie')
Radosław Głębicki napisał(a):
Witam
a = 0 a == 1
Dlaczego Python nie zgłasza błędu? A jeśli jest ok to do czego to można wykorzystać?
Taki hint dla Ciebie niezależny od języka. Jak coś Ci nie odpowiada mimo, że działa to sobie wyprintuj:
a = 0
print('Pierwsze a:', a)
a == 1
print('Drugie a:', a)
Debugowanie przez drukowanie nie ma sobie równych :-)