PHWinfo banniere

Titres
PORTAIL ANNUAIRE ARTICLES COMPARATEUR HÉBERGEURS DEVIS FORUMS RÉDUCTEUR D'URL
Précédent   PHWinfo > Autres forums > Forum Programmation & Conception > fr.comp.lang.python > dictionnons dans la joie et la bonne humeur...
S'inscrire FAQ Membres Recherche Messages du jour Marquer les forums comme lus
dictionnons dans la joie et la bonne humeur...

Réponse
 
LinkBack Outils de la discussion
Vieux 09/08/2007, 11h09   #9
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

Laurent Pointal <laurent.pointal@limsi.fr> a écrit :

> setattr(self,dico[p],False)
>
> Ceci dit, si tu n'as que des vrai/faux, tu pourrais aussi travailler
> avec un set qui contienne les mots clés présents...
>
> cles = set(sys.argv[1:])
> if x in cles : ....


Arf, ce ng, que du bonheur (normal, c'est python ;-))

Merci !

--
http://scipy.org/FredericPetit
  Réponse avec citation
Vieux 09/08/2007, 11h59   #10
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 :
>
>> fred a écrit :
>>> Bruno Desthuilliers <bdesth.quelquechose@free.quelquepart.fr> a écrit :
>>>
>>>> question con: c'est quoi, le but de la manoeuvre, au juste ?
>>> réponse con : merci d'avoir posé la question.
>>> Parce que en fait, je n'en ai pas besoin, de dico.
>>> Et en plus, ça vous évite un post super long pour que je vous exlique
>>> par le menu ma tambouille, alors...

>> Bin, tu fais comme tu veux, mais le but de la question était de voir
>> si y avait pas mieux à faire qu'un truc tordu...

> Mais justement, le fait d'écrire mon petit laïus pour expliquer la chose
> m'a fait voir que c'était vraiment un truc tordu, et que donc,
> de truc tordu, y en a pu.


Lol !-)

> Bon, pour résumer, je passe des arguments en ligne de commande,
> des « mot-clés », qui sont associés à des variables (que j'appelle « flag
> » parce que ce sont des booléens).
>
> Le but est de détecter quels sont les mot-clés qui sont passés en ligne
> de commande (auquel cas le flag est mis à True) pour pouvoir les repasser à False
> par la suite parce que.


Tu sais qu'il existe des packages pour ça dans la bibliothèque standard?

Mais bon, même si tu tiens à réinventer la roue...

> 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 ?

if (p in dico): # pas besoin du keys()
setattr(self, dico[p], False)


> Ok, d'aucuns trouveront peut-être ça tordu quand même,
> mais nettement moins que mon idée initiale.


Oh bonne mère... je préfère ne pas savoir ce que c'était, alors...

> 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...
  Réponse avec citation
Vieux 09/08/2007, 13h06   #11
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

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.

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

> if (p in dico): # pas besoin du keys()
> setattr(self, dico[p], False)

Laurent P. a déjà répondu là-dessus.
Mais je prends note du « pas besoin de keys() ».

>
>> Ok, d'aucuns trouveront peut-être ça tordu quand même,
>> mais nettement moins que mon idée initiale.

>
> Oh bonne mère... je préfère ne pas savoir ce que c'était, alors...

Ah tu vois, je t'avais prévenu ! :-)

Mais à y bien réfléchir, je crois que c'était du grand n'importe quoi.
Je ne devais pas avoir les idées bien claires au moment où j'ai posté.
Et de toute façon... voir ligne juste en-dessous.

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

--
http://scipy.org/FredericPetit
  Réponse avec citation
Vieux 09/08/2007, 22h25   #12
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

Bonsoir !

dico={'AA':1,'BB':22,'CC':333}
globals().update(dico)
print AA, BB, CC





  Réponse avec citation
Vieux 10/08/2007, 11h43   #13
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

Bruno Desthuilliers <bdesth.quelquechose@free.quelquepart.fr> a écrit :

> 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 ---------->[]

C'est bon, on est vendredi ;-)


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

Tu nourris ta famille à répondre sur fclp ???

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

Ok, ça, c'est un « binding ».
Je ne savais pas.

> (obj.a = 4 => obj.__setattr__('a', 42)).
>
>> 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 !-)

Tout à fait !
Et pour ça, faut déjà avoir les idées bien claires...
Et ce n'est pas toujours le cas... :-p

--
http://scipy.org/FredericPetit
  Réponse avec citation
Vieux 10/08/2007, 11h45   #14
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

"Méta-MCI \(MVP\)" <enleverlesX.XmcX@XmclaveauX.com> a écrit :

> Bonsoir !
>
> dico={'AA':1,'BB':22,'CC':333}
> globals().update(dico)
> print AA, BB, CC

Pétard !!!!

Ça, c'est énorme.

Et beau à la fois.

Merci !

--
http://scipy.org/FredericPetit
  Réponse avec citation
Vieux 10/08/2007, 11h49   #15
fred
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

fred <fredantispam@free.fr> a écrit :

> "Méta-MCI \(MVP\)" <enleverlesX.XmcX@XmclaveauX.com> a écrit :
>
>> Bonsoir !
>>
>> dico={'AA':1,'BB':22,'CC':333}
>> globals().update(dico)
>> print AA, BB, CC

> Pétard !!!!
>
> Ça, c'est énorme.
>
> Et beau à la fois.


Dis moi, Bruno, ce n'était pas si tordu que ça ma question, alors ??? :-)
Et puis Michel l'a comprise, donc... :-p

Bon, ok, je -> []

--
http://scipy.org/FredericPetit
  Réponse avec citation
Vieux 10/08/2007, 15h32   #16
Méta-MCI \(MVP\)
Aucun Avatar
 
Messages: n/a
Hébergeur:
Par défaut Re: dictionnons dans la joie et la bonne humeur...

Re !

Il faut savoir que :
- moi, je suis un peu tordu
- j'ai vu ça (et répondu) en rentrant de (déplacement à)
Paris, ce qui n'était pas fait pour arranger les choses
- attention aux contraintes liées aux variables globales
(bien que l'on puisse utilise locals(), à l'intérieur d'une
fonction
- cela revient à des déclarations non-explicites, avec des
risques de perte de lisibilité

@+

MCI

  Réponse avec citation
Réponse


Outils de la discussion

Règles de messages
Vous ne pouvez pas créer de nouvelles discussions
Vous ne pouvez pas envoyer des réponses
Vous ne pouvez pas envoyer des pièces jointes
Vous ne pouvez pas modifier vos messages

Les balises BB sont activées : oui
Les smileys sont activés : oui
La balise [IMG] est activée : oui
Le code HTML peut être employé : non
Trackbacks are oui
Pingbacks are oui
Refbacks are oui


Fuseau horaire GMT +1. Il est actuellement 18h40.


Édité par : vBulletin® version 3.7.2
Copyright ©2000 - 2008, Jelsoft Enterprises Ltd.
Search Engine Friendly URLs by vBSEO 3.2.0 RC5 Tous droits réservés.
Version française #16 par l'association vBulletin francophone
PHWinfo est un site Éducation Sans Frontières
Ad Management by RedTyger
©Tous droits réservés par les parties respectives
Page generated in 0,13575 seconds with 16 queries