2013-10-12 187 views
-3

我正在瀏覽Python/Pygame教程。我遇到了這個運營商<-。這是什麼意思?python < - 運算符:是什麼意思?

下面是代碼行:

if bullet[1]<-64 or bullet[1]>640 or bullet[2]<-64 or bullet[2]>480: 
    arrows.pop(index) 
+0

這將被視爲格式混亂的代碼,如果這是在一個教程,你需要確保你不接他們的格式風格。 – SethMMorton

+0

隨着代碼的問題很有意義,尤其是在午夜時分。我個人來到這裏尋找一種方法來「重載」不存在的< - 操作符,認爲有人必須重載'__lt__'和'__neg__'來實現這種效果。 – gooli

回答

7

Python沒有一個<-運營商。也許你有倒退,意思是->

你看到的只是時間,即功能註釋:

def func(a:int, b:str) -> str: 

它可以讓用戶知道什麼功能應該回報。

或者,你可以看到這樣的事情:

x<-1 

這基本上是測試如果x小於-1

編輯:

現在你已經包含的代碼,我可以肯定地說,這是第二個答案。這一部分:

if bullet[1]<-64 

基本上是測試如果bullet[1]小於-64

+0

這是一個可能的,儘管不太可能的答案,在答案給出時OP的問題,實際上我也是第一個想法。 – DSM

3

您誤讀了操作員;它是<(低於)-64(負六十四)。

您顯示的這條線是爲什麼Python Style Guide需要運算符周圍的空格的完美示例;以下是更清晰:

if bullet[1] < -64 or bullet[1] > 640 or bullet[2] < -64 or bullet[2] > 480: 

或者,使用鏈接:

if not (-64 > bullet[1] > 640) or not (-64 > bullet[2] > 480): 
+0

好的謝謝,但我不明白爲什麼這麼多的大拇指朝下,編碼超過12小時! – joker

+1

我認爲這是第一次修訂中缺乏代碼的原因。 –

+0

太不公平了,iCodez的第一個答案是-2,他編輯了一下,然後豎起大拇指! :/ – joker