73 votes

Est-ce que `id` est un mot-clé en python ?

Mon éditeur (TextMate) affiche id dans une autre couleur (lorsqu'il est utilisé comme nom de variable) que mes noms de variables habituels. S'agit-il d'un mot-clé ? Je ne veux pas nuancer n'importe quel mot-clé...

96voto

Greg Hewgill Points 356191

id n'est pas un mot-clé en Python, mais c'est le nom d'un fichier fonction intégrée .

Les mots-clés sont :

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

Les mots-clés sont des noms de variables non valides. L'exemple suivant serait une erreur de syntaxe :

if = 1

D'autre part, des fonctions intégrées telles que id o type o str peut être ombragée :

str = "hello"    # don't do this

23voto

joaquin Points 22450

Vous pouvez également obtenir de l'aide auprès de 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.)

Vous pouvez également interroger 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.)

0 votes

Merci, j'avais simplement oublié le (puissant) docu en python :-)

0 votes

Puis-je utiliser help(somecommand) à chaque fois, je ne suis pas sûr, si somecommand pourrait être un mot-clé ou une fonction intégrée de python pour être sûr ?

5 votes

@Aufwind oui, vous pouvez. Pour les mots-clés, vous devez cependant utiliser une chaîne de caractères, par exemple pour le mot-clé if déclaration que vous devez faire help('if') .

13voto

Neftas Points 1026

Juste pour objectifs de référence :

Vérifier si quelque chose est un mot-clé en Python :

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

Vérifiez tous les mots-clés en 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']

10voto

nakedfanatic Points 1110

C'est une fonction intégrée :

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.)

Prograide.com

Prograide est une communauté de développeurs qui cherche à élargir la connaissance de la programmation au-delà de l'anglais.
Pour cela nous avons les plus grands doutes résolus en français et vous pouvez aussi poser vos propres questions ou résoudre celles des autres.

Powered by:

X