ich weiß nicht... ich bin voll der Meinung das schonmal gefragt zu haben, aber ich hab nix gefunden...
Naja, also auf ein Neues (achja, guten morgen uebrigens ):
Ich wuerde gern die Elemente einer Klasse haben... aber nicht nur als String (also mit dir() ), sondern ich moechte schon auch gern wissen, ob es ne Methode oder ein Attribut ist. Da gibts doch sicherlich einen Weg und den habe ich hier bestimmt schonmal gelesen... aber naja, ich find es einfach nicht
Ach falls Fragen zum Verwendungszweck aufkommen:
Ich wuerde gern ein Sessionobjekt (bei Karrigell) mit zusaetzlichen Informationen wie Name/Adresse/whatever fuettern. Da es aber nicht nur drei oder vier Attribute werden, wuerde ich sie gern per Schleife durchgehen koennen...
klassenattribute bekommen
- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
Das waere auch machbar, ja. Das macht mich zwar nicht unbedingt gluecklick... aber notfalls mache ich es einfach so.BlackJack hat geschrieben:Kannst Du dann nicht ein Dictionary an das Session-Objekt hängen?
Danke fuer den Tipp... das Modul ist nett... aber so richtig hat es scheinbar nix, was mir wirklich nur die Argumente einer Klasse zurueckgibt, die nicht zum Standard gehoeren. getmembers(object, predicate) waere dabei ja nett, aber sie bringt mir nix, da ich sie nicht mehr braeuchte, wenn ich wuesste, wie das predicate fuer die Sachen auszusehen haette, die ich sucheEne Uran hat geschrieben:Schau Dir mal Modul inspect an.
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
-
- User
- Beiträge: 773
- Registriert: Mittwoch 5. November 2003, 18:06
- Wohnort: Schweiz
- Kontaktdaten:
Hi
So könntest du es testen, aber wirklich sinnvoll ist das nicht.
Warum macht dich ein Dictionary nicht glücklich?
Gruss
So könntest du es testen, aber wirklich sinnvoll ist das nicht.
Warum macht dich ein Dictionary nicht glücklich?
Code: Alles auswählen
import types
class test(object):
def method1(self, bla):
pass
def andere_funktion(test):
pass
t = test()
t.name = 'Hans'
t.land = 'Deutschland'
t.andere_methode = andere_funktion
for x in dir(t):
if not x.startswith('__'):
if type(getattr(t,x)) not in (types.MethodType, types.FunctionType):
print x,type(getattr(t,x))
- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
Weil das die Sache noch mehr verlaengert ^^rayo hat geschrieben:Hi
So könntest du es testen, aber wirklich sinnvoll ist das nicht.
Warum macht dich ein Dictionary nicht glücklich?
Ich vermute aber, dass ein Dict am Ende unausweichlich sein wird...
Aber danke fuer den Tipp mit "types"
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
Hi.nkoehring hat geschrieben: Ich wuerde gern die Elemente einer Klasse haben... aber nicht nur als String (also mit dir() ), sondern ich moechte schon auch gern wissen, ob es ne Methode oder ein Attribut ist.
Hier mal ein Beispiel um zu testen ob es eine Methode ist:
Code: Alles auswählen
#!/usr/bin/env python
# -*- coding: utf-8 -*-
from inspect import getmembers, ismethod
class Foo(object):
def __init__(self):
self.instance_attr = None
for attr in getmembers(self):
if not attr[0].startswith('__') and ismethod(attr[1]):
print attr
def class_meth1(self):
pass
def class_meth2(self):
pass
def class_meth3(self):
pass
foo = Foo()
http://docs.python.org/lib/module-inspect.html
€: Korrektur.
- nkoehring
- User
- Beiträge: 543
- Registriert: Mittwoch 7. Februar 2007, 17:37
- Wohnort: naehe Halle/Saale
- Kontaktdaten:
Ja und das umkehren und ich bekomme die Attribute... richtig? Naja, im moment befasse ich mich mit anderen Problemen meines Programmes... aber danke ich werd mir spaeter nochmal alles zu Gemuete fuehren
[url=http://www.python-forum.de/post-86552.html]~ Wahnsinn ist auch nur eine andere Form der Intelligenz ~[/url]
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2
hackerkey://v4sw6CYUShw5pr7Uck3ma3/4u7LNw2/3TXGm5l6+GSOarch/i2e6+t2b9GOen7g5RAPa2XsMr2