2 votes

Nommer une classe Python de la même manière que le mot-clé réservé `Class`.

Est-il acceptable/légal en Python de nommer une classe "Class" pour un groupe d'étudiants, et cela posera-t-il des problèmes de syntaxe ?

NB : J'en suis conscient :

class Class:
    def __init__(self):
        pass

my_class = Class()

n'émettra pas d'erreur, mais causera-t-il des problèmes potentiels en cas d'utilisation prolongée ?

Les problèmes potentiels que je peux imaginer sont des problèmes avec les linters/parses qui pourraient utiliser/exécuter sur le code. Est-ce que je présume que les éléments internes de Python ne poseront pas de problème ?

J'ai fait des recherches sur SO et Google, mais j'ai eu du mal à obtenir des résultats en raison du terme évident "clash", et de nombreux tutoriels contenant class Student . J'ai trouvé que la PEP8 faisait référence aux collisions de noms entre les arguments et les mots-clés réservés, et conseillait d'ajouter un trait de soulignement à l'argument incriminé. Je vois également une objection plus stylistique à la collision de noms évidente, et que si les méthodes de Class sont des méthodes de Class, elles ne sont pas des classmethods (bien que je ne trouve pas d'interdiction dans le PEP8), mais je reconnais qu'il s'agit d'une opinion et donc en dehors des limites de l'OS.

0voto

toonarmycaptain Points 847

En résumé - Class est parfaitement légal et ne devrait pas poser de problème à Python, car Python est sensible à la casse. Tout linter ou IDE (raisonnable) ne devrait donc pas avoir de problème avec son utilisation en tant qu'identifiant.

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