2013-04-15 54 views
3

我是python編程的新手。我來到一塊程序,其中//在python中的使用

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

被使用。這可能對我來說很愚蠢。但任何人都可以告訴我代碼的含義。請告訴我「//」的功能。

+2

看看這個:http://stackoverflow.com/questions/183853/in-python-what-is-the-difference-between-and-when-使用換除法 – adchilds

回答

3

/操作者做了浮點除法,所述操作者//確實整數除法

例如:

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

注意,這是蟒蛇3

在蟒蛇2.如果你嘗試,你會得到:

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

它是明確的樓層劃分運算符。

5 // 2 # 2 

在Python 2.x和下面的/會做整數除法如果兩個操作數是整數,並會做浮點除法如果至少有一個參數是一個浮子。

在Python 3.x中,這被改變了,/運算符做了浮點除法運算並且//運算符做了floor division。

參考文獻:

http://www.python.org/dev/peps/pep-0238/