Natknąłem się na składnię kodu d //= 2
, gdzie d jest zmienną. To nie jest część żadnej pętli, nie całkiem rozumiem.
Czy ktoś może mnie oświecić, proszę?Co oznacza składnia "zmienna // = wartość" w języku Python?
Odpowiedz
//
jest operatorem podziału piętra. Poza tym =
oznacza działanie na zmiennej "w miejscu". Jest podobny do operatorów +=
i *=
, jeśli widziałeś je wcześniej, z wyjątkiem tego, że jest z podziałem.
Załóżmy, że mam zmienną o nazwie d
. Ustawiłem tę wartość na 65
, w ten sposób.
>>> d = 65
Wywołanie d //= 2
podzieli d
przez 2, a następnie przypisać wynik d. Ponieważ d // 2
wynosi 32 (32,5, ale z częścią dziesiętną zdjęto) d
staje 32:
>>> d //= 2
>>> d
32
To tak samo jak wywołanie d = d // 2
.
To samo pod tym okoliczności, ale w ogóle, to nie jest koniecznie to samo. Zobacz https://docs.python.org/3/library/operator.html#operator.__floordiv__ vs. https://docs.python.org/3.4/library/operator.html#operator.__ifloordiv__. – glglgl
Dzieli d
przez 2, zaokrąglając w dół. Python można uruchamiać interaktywnie, wypróbuj.
$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
>>> a = 4
>>> a //= 2
>>> a
2
"a = 5" byłby lepszym przykładem. (Aby kontrastować z 'a/= 2') –
Dzieli zmienną z dzieleniem podłogi przez dwa i przypisuje nową wartość do zmiennej.
Powinniśmy uczynić to kanoniczną odpowiedzią i zamknąć mniej pomocniczo sformułowane [Two forward slashes in Python] (http://stackoverflow.com/questions/14444520/two-forward-slashes-in-python) jako duplikat to. – smci
innym [2013 odpowiedzi] (http://stackoverflow.com/questions/14820104), który jest łatwo znaleźć w [stackse] (http://stackse.com) stosując ** pytona // = ** zapytania. – ren
google dla "operatora python" najpierw –