4 votes

python __init__ argument devient un tuple

Code :

class MyClass:
    def __init__(self, aa  ):
        print('aa='+str(aa)+' of type '+str(type(aa)))
        self.aa = aa,
        print('self.aa='+str(self.aa)+' of type '+str(type(self.aa)))

DEBUG = MyClass(aa = 'DEBUG')

Sortie :

aa=DEBUG of type <type 'str'>
self.aa=('DEBUG',) of type <type 'tuple'>

Pourquoi est-ce que self.aa devient un tuple et non une chaîne de caractères ?

20voto

Michael Mauderer Points 1515

A cause de la virgule ici :

self.aa = aa,

C'est le syntaxe pour un tuple contenant un élément .

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