id
- это встроенная функция, которая дает адрес памяти объекта. Если вы назовете одну из своих функций id
, вам нужно будет сказать __builtins__.id
, чтобы получить оригинал. Переименование id
в глобальном масштабе сбивает с толку все, кроме небольшого сценария.
Однако повторное использование встроенных имен в качестве переменных не так уж и плохо, если их использовать локально. Python имеет lot встроенных функций, которые (1) имеют общие имена и (2) вы не будете много использовать в любом случае. Использование их в качестве локальных переменных или в качестве членов объекта - это нормально, поскольку из контекста очевидно, что вы делаете:
Пример:
def numbered(filename):
file = open(filename)
for i,input in enumerate(file):
print "%s:\t%s" % (i,input)
file.close()
Некоторые встроенные модули с заманчивыми именами:
id
file
list
map
all
, any
complex
dir
input
slice
buffer