问题
I was researching some information on the topic of trial division, and I came across this symbol in Python:
//=
I got this from here where the code in the example says:
n //= p
I can't tell what this is supposed to mean, and my research continues to bring poor results in terms of webpages.
回答1:
//
is integer division and the
n //= p
syntax is short for
n = n // p
except the value n is modified directly if it supports this.
回答2:
When you see an operator followed by an =
, that is performing the operation and then assigning it into the variable. For example, x += 2
means x = x + 2
or add 2 to x
.
The //
operator specifically does integer devision instead of floating point division. For example, 5 // 4
gives you 1
, while 5 / 4
gives you 1.25
(in Python 3).
Therefore, x //= 3
means divide x
by 3 (in an integer division fashion), and store the value back into x
. It is equivalent to x = x // 3
回答3:
// is the floor division operator, therefore //= is simply the inplace floor division operator.
来源:https://stackoverflow.com/questions/7786924/python-shorthand-operator