Я столкнулся с синтаксисом кода d //= 2
где d - переменная. Это не часть какого-либо цикла, я не совсем получаю выражение.
Может кто-нибудь просветить меня, пожалуйста?Что означает синтаксис «variable // = a value» в Python?
ответ
//
является оператором отдела пола. =
рядом с ним означает работать с переменной «на месте». Это похоже на операторы +=
и *=
, если вы видели их раньше, за исключением этого с разделением.
Предположим, у меня есть переменная, называемая d
. Я установил его значение 65
, вот так.
>>> d = 65
Вызов d //= 2
будет делить d
на 2, а затем назначить этот результат г. Так, d // 2
32 (32,5, но с десятичной части снятой), d
становится 32:
>>> d //= 2
>>> d
32
Это то же самое, как вызов d = d // 2
.
То же самое при этом обстоятельстве, но в целом это не обязательно то же самое. См. Https://docs.python.org/3/library/operator.html#operator.__floordiv__ vs. https://docs.python.org/3.4/library/operator.html#operator.__ifloordiv__. – glglgl
Он делит d
на 2, округляя вниз. Python можно запустить в интерактивном режиме, попробуйте.
$ python
Python 2.7.10 (default, Oct 23 2015, 19:19:21)
>>> a = 4
>>> a //= 2
>>> a
2
'a = 5' был бы лучшим примером. (В отличие от 'a/= 2') –
Разделяет переменную с делением пола на два и присваивает новую величину переменной.
Мы должны сделать это каноническим ответом и закрыть менее полезные слова [Две косые черты в Python] (http://stackoverflow.com/questions/14444520/two-forward-slashes-in-python) в качестве дубликата это. – smci
Другой [ответ 2013 года] (http://stackoverflow.com/questions/14820104), который легко найти в [stackse] (http://stackse.com) с использованием ** python // = ** запроса. – ren
google для оператора «python operator» –