2013-06-25 52 views
3

我正在學習Python。截至目前,filter,id等字生成警告Warning: assignment to reserved built-in symbol。那麼,我正在設計篩選器並將id -s分配給每個,並且此警告迫使我在各處使用下劃線。爲什麼這麼多「保留的內置符號」-s在python

C的保留關鍵字是縮短的詞,例如, int或不經常使用英文單詞例如volatile。我如何應對Python編程語言的極端可讀性,這迫使我讓自己的程序無法讀取?

+2

它不給的Python的錯誤;這些不是保留關鍵字。 –

回答

4

這些都不是保留關鍵字,因此 - 你可以用代替。這只是一個警告,IDE告訴你這樣做可能不是一個好主意,因爲它可能會破壞將被複制粘貼進和出模塊的代碼,並且可能會讓代碼混淆而沒有完整的上下文。

下面是保留關鍵字在Python(23

False (3) class  finally is   return 
None (3) continue for  lambda  try 
True (3) def  from  nonlocal while 
and  del  global  not  with 
as   elif  if   or   yield 
assert  else  import  pass  exec (2) 
break  except  in   raise  print (2) 

只有Python2的execprint是明智的變量名。我認爲這是他們不再在Python3中保留的原因的一部分。

Python被設計爲可讀,所以它使用可讀的英文單詞作爲類型名稱。是的,id可能不是一個好主意。也許list,dict等應該是List,Dict等,但現在改變這一點已爲時過晚。

如果你設計了一個過濾器,你可以稱它爲FilterIdID也是如此。

8

該警告與Python本身無關。

使用Google進行快速搜索似乎表明,在使用PyDev使用Eclipse時會生成警告,因此您可以在PyDev文檔中找到答案,以瞭解如何關閉它。

這個計算器的問題可能會有所幫助:Suppress warnings in PyDev

+0

我認爲警告應該是:重新定義xxx,你確定... –

相關問題