Afficher un message
Vieux 07/08/2007, 20h15   #3
Bruno Desthuilliers
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

fred a écrit :
> Bruno Desthuilliers <bruno.42.desthuilliers@wtf.websiteburo.oops.com > a écrit :
>
>>Tu sais qu'il existe des packages pour ça dans la bibliothèque standard?

>
> Voui, je m'en doute.
> Mais je n'ai jamais été regarder.


Tu a tort. Et le tort tue.

Ok ---------->[]

> Et pis deuxième, j'ai tout un tas de sortes d'arguments à passer :
> "a", "a=1", "a='(2 2)'", "a='(2 2), (3 3)'"
> des trucs dans ce genre-là...
>
>
>>Mais bon, même si tu tiens à réinventer la roue...

>
> On est là pour s'amuser, non ?


Heu... Pas seulement, non. Moi j'y suis aussi pour nourrir ma famille !-)

> Et puis pour apprendre.
>
>
>>>J'ai donc construit mon dico comme ça
>>>{'mot clé': 'variable_flag'}
>>>et ensuite, je fais un
>>>if (p in dico.keys()):
>>> exec('self.'+dico[p]+' = False')

>>
>>Hem...
>>
>>Tu pouvais pas dire tout de suite qu'il s'agissait d'attributs d'un
>>objet, non ?

>
> Visiblement, non :-)))
> Je ne voyais pas la pertinence de cette info, c'est tout.


Et pourtant... Comprend bien qu'il y a en Python une différence assez
fondamentale entre un binding (ie : a = 42) et un appel de méthode
(obj.a = 4 => obj.__setattr__('a', 42)).

>>>Et ça marche du tonerre.
>>>Bon, le coup du exec ne me plaît pas des masses, ok...
>>>

>>
>>Moi non plus. Dans 99,9% des fois où j'ai utilisé un exec, c'est soit
>>que je ne connaissais pas la bonne façon de faire, soit que mon design
>>puait des pieds...

>
> D'accord avec toi.
> En l'occurence, je ne connaissais pas la bonne façon de faire
> pour ce cas précis.


D'où l'intéret des questions bien formulées !-)
  Réponse avec citation
 
Page generated in 0,05311 seconds with 9 queries