2009-09-18 6 views

Répondre

4

Il n'y a aucun problème avec ces exemples. Il suffit d'utiliser complex et type. Vous ne faites qu'observer dans une portée très limitée (la définition de classe elle-même). Après cela, vous serez en utilisant la notation y accéder point (self.type), donc il n'y a pas d'ambiguïté:

Python 2.6.2 (release26-maint, Apr 19 2009, 01:58:18) 
[GCC 4.3.3] on linux2 
Type "help", "copyright", "credits" or "license" for more information. 
>>> class Foo(object): 
...  type = 'abc' 
... 
>>> f = Foo() 
>>> f.type 
'abc' 
>>> class Bar(object): 
...  complex = 123+4j 
... 
>>> bar = Bar() 
>>> bar.complex 
(123+4j) 
>>> 
+1

Techniquement, les exemples que vous avez donnés ne sont pas des mots réservés. Ils sont builtins. Les mots réservés (comme print ou lambda) causeront des problèmes réels. – jcdyer

1

Voulez-vous vraiment utiliser l'argument db_column="complex" et appeler votre domaine autre chose?

Questions connexes