Python中//的用法

4

我是Python编程的新手。我遇到了一段程序:

if (pos.x//1,pos.y//1) not in self.cleaned:
     self.cleaned.append((pos.x//1,pos.y//1)) 

这段代码被使用,可能这是我太傻了。但是有人能告诉我这段代码的含义吗?并且请告诉我"//"的作用。


2
看一下这个链接:https://dev59.com/JXVC5IYBdhLWcg3wykaj - adchilds
3个回答

8
这是显式的地板除法运算符。
5 // 2 # 2

在Python 2.x及以下版本中,如果两个操作数都是整数,则/执行整除操作,如果至少一个参数是浮点型,则执行浮点除法。
在Python 3.x中,这一变化已被纳入,/运算符执行浮点除法,//运算符执行向下取整操作。
参考文献: http://www.python.org/dev/peps/pep-0238/

7

a // b地板除法。它基本上相当于 floor(a / b),但它保留了数字类型。


3
/运算符执行浮点除法//运算符执行整数除法
例如:
>>> 10/4   #will be 2.5
>>> 10//4  #will be 2

请注意这是针对Python 3的。

在Python 2中,如果您尝试该操作,则会得到:

>>> 10/4     #will be 2
>>> 10.0/4   #will be 2.5

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接