OOP: instance of

Wenn du dir nicht sicher bist, in welchem der anderen Foren du die Frage stellen sollst, dann bist du hier im Forum für allgemeine Fragen sicher richtig.
Antworten
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

ich weiss leider nicht mehr wie man überprüft ob ein Object irgendwann mal von einer Klasse abgeleitet worden ist.

In einer anderen Sprache heisst es InstanceOf.

Bsp:

Code: Alles auswählen

class A:
  ...
class B(A)
  ...

test = B()

if test instanceof A:
   print 'true'
bei diesem Bsp. soll true ausgegeben werden. Wie kann ich sowas überprüfen?

gruss
fs111
User
Beiträge: 170
Registriert: Samstag 15. November 2003, 11:42
Kontaktdaten:

Code: Alles auswählen

Python Library Documentation: built-in function issubclass in __builtin__

__builtin__.issubclass = issubclass(...)
    issubclass(C, B) -> Boolean

    Return whether class C is a subclass (i.e., a derived class) of class B.
HTH

fs111
joerg
User
Beiträge: 188
Registriert: Samstag 17. August 2002, 17:48
Wohnort: Berlin
Kontaktdaten:

Du suchst 'isinstance()', mit 'print isinstance.__doc__', kriegst Du Hilfe zur Verwendung.

Jörg
"Sie sind nicht berechtigt, unrechtmäßige Kopien dieses Datenträgers zu erstellen." - Microsoft-Weisheit auf einer CD von MS-VisualC++-6.0
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

hi

genau isinstance hab ich gesucht :)

danke euch beiden

gruss
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

Hi. Also zum testen ob B eine Basisklasse von A ist, nimmst du issubclass. Zum testen, ob test (==B()) eine Instanz von einer beliebigen Basisklasse von B (B inklusive) ist, nimmst du isinstance. War mir oben ein wenig zu unsauber formuliert, für alle die die den Thread mal per Suche finden...

Milan
Antworten