2013-06-25 55 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,你确定... –

相关问题