Является ли `id` ключевым словом в python? - PullRequest
44 голосов
/ 15 июня 2011

Мой редактор (TextMate) показывает id другим цветом (при использовании в качестве имени переменной), чем мои обычные имена переменных. Это ключевое слово? Я не хочу затенять любое ключевое слово ...

Ответы [ 4 ]

57 голосов
/ 15 июня 2011

id не является ключевым словом в Python, но является именем встроенной функции .

.ключевые слова являются :

and       del       from      not       while
as        elif      global    or        with
assert    else      if        pass      yield
break     except    import    print
class     exec      in        raise
continue  finally   is        return
def       for       lambda    try

Ключевые слова являются недопустимыми именами переменных.Следующее будет синтаксической ошибкой:

if = 1

С другой стороны, встроенные функции, такие как id или type или str, могут быть затенены:

str = "hello"    # don't do this
17 голосов
/ 15 июня 2011

Вы также можете получить помощь от python:

>>> help(id)
Help on built-in function id in module __builtin__:

id(...)
    id(object) -> integer

    Return the identity of an object.  This is guaranteed to be unique among
    simultaneously existing objects.  (Hint: it's the object's memory address.)

или вы можете задать вопрос IPython

IPython 0.10.2   [on Py 2.6.6]
[C:/]|1> id??
Type:           builtin_function_or_method
Base Class:     <type 'builtin_function_or_method'>
String Form:    <built-in function id>
Namespace:      Python builtin
Docstring [source file open failed]:
    id(object) -> integer

Return the identity of an object.  This is guaranteed to be unique among
simultaneously existing objects.  (Hint: it's the object's memory address.)
7 голосов
/ 30 октября 2013

Только для справочных целей :

Проверьте, является ли что-то ключевым словом в Python:

>>> import keyword  
>>> keyword.iskeyword('id')
False

Проверьте все ключевые слова в Python:

>>> keyword.kwlist
['and', 'as', 'assert', 'break', 'class', 'continue', 'def', 'del', 'elif',
 'else', 'except', 'exec', 'finally', 'for', 'from', 'global', 'if', 'import',
 'in', 'is', 'lambda', 'not', 'or', 'pass', 'print', 'raise', 'return', 'try',
 'while', 'with', 'yield']
7 голосов
/ 15 июня 2011

Это встроенная функция:

id(...)
    id(object) -> integer

    Return the identity of an object.  This is guaranteed to be unique among
    simultaneously existing objects.  (Hint: it's the object's memory address.)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...