Recherche sur les attributs d'un objet

Le
Alex Marandon
Bonjour,

Actuellement, pour rechercher les attributs d'un objet dans
l'interpréteur interactif, je fais quelque chose comme ca :

filter(lambda s:s.find('find') != -1, dir(''))

Pas très élégant, surtout le "!= -1". Cela me frustre d'autant plus
qu'en Ruby je faisait juste :

''.methods.grep /find/i

(Ce qui de plus rends la recherche insensible a la casse.)

Des idées pour améliorer mon quotidien de codeur Python ?
Vidéos High-Tech et Jeu Vidéo
Téléchargements
Vos réponses
Gagnez chaque mois un abonnement Premium avec GNT : Inscrivez-vous !
Trier par : date / pertinence
Francois
Le #6682861
Je vais peut-être dire une bêtise, mais pour afficher les attributs d'un
objet obj, il suffit de taper

obj.__dict__


non ?


--
François
Bruno Desthuilliers
Le #6683101
Je vais peut-être dire une bêtise, mais pour afficher les attributs d'un
objet obj, il suffit de taper

obj.__dict__


non ?



Ca ne renverra que les attributs de l'instance. Pour avoir tous les
attributs de l'objet, utilise dir(obj).

Bruno Desthuilliers
Le #6683091
Bonjour,

Actuellement, pour rechercher les attributs d'un objet dans
l'interpréteur interactif, je fais quelque chose comme ca :

filter(lambda s:s.find('find') != -1, dir(''))

Pas très élégant, surtout le "!= -1". Cela me frustre d'autant plus
qu'en Ruby je faisait juste :

''.methods.grep /find/i

(Ce qui de plus rends la recherche insensible a la casse.)


[n for n in dir(str) if 'find' in n.lower()]

Des idées pour améliorer mon quotidien de codeur Python ?


http://docs.python.org/lib/module-rlcompleter.html
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496812

|-| /-\\ |_ \(\)7 [°¿°]
Le #6686901
Bonsoir !

Si on accepte de surseoir à la "mode (addictive) monoligne" :

def trouvfind(chaine):
return('find' in chaine)

print filter(trouvfind,dir(toto))


@-salutations
--
Michel Claveau
Alex Marandon
Le #6690221
Bruno Desthuilliers wrote:
Actuellement, pour rechercher les attributs d'un objet dans
l'interpréteur interactif, je fais quelque chose comme ca :

filter(lambda s:s.find('find') != -1, dir(''))


[n for n in dir(str) if 'find' in n.lower()]


Ah, l'opérateur in, je l'oublie toujours celui là !

Des idées pour améliorer mon quotidien de codeur Python ?


http://docs.python.org/lib/module-rlcompleter.html
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496812


Merci beaucoup Bruno, c'est ajouté à mon PYTHONSTARTUP !


Bruno Desthuilliers
Le #6690911
Bruno Desthuilliers wrote:
Actuellement, pour rechercher les attributs d'un objet dans
l'interpréteur interactif, je fais quelque chose comme ca :

filter(lambda s:s.find('find') != -1, dir(''))


[n for n in dir(str) if 'find' in n.lower()]


Ah, l'opérateur in, je l'oublie toujours celui là !

Des idées pour améliorer mon quotidien de codeur Python ?


http://docs.python.org/lib/module-rlcompleter.html
http://aspn.activestate.com/ASPN/Cookbook/Python/Recipe/496812


Merci beaucoup Bruno, c'est ajouté à mon PYTHONSTARTUP !


Ca change la vie, hein ?-)



Publicité
Poster une réponse
Anonyme