Klassenname einer Variable herausfinden?

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
Blue-Tiger
User
Beiträge: 11
Registriert: Samstag 2. April 2005, 21:45
Kontaktdaten:

Samstag 16. April 2005, 22:19

Hi there!
wie kann ich den Klassennamen einer Variable herausfinden? D.h. wenn ich eine Variable vom Typ "MyClass" habe, dann moecht ich irgendwie eben genau dieses "MyClass" herausbekommen....

Ich dachte erst, dafuer gibts ja "type".... aber na ja:

Code: Alles auswählen

i = 5
>>> type(i)  # funktioniert
<type 'int'>

import Hash
foo = Hash.Hash1(13)
>>> type(foo)
<type 'instance'>  # funktioniert leider nicht... foo ist ein "Hash1"

sorry, ich weiss ich drueck mich nicht grad klar aus
:oops:
[b]Ordnung ist das Chaos, an das man sich gewöhnt hat
[i]Der Weg ist das Ziel[/b][/i]
[url=http://bluetiger.bauchlandung.org/]bluetiger.bauchlandung.org[/url]
BlackJack

Sonntag 17. April 2005, 01:09

Den Klassennamen einer Variablen kann man nicht herausfinden. Aber den Namen der Klasse des Objektes, das an einen Namen gebunden ist:

Code: Alles auswählen

In [24]: class Spam:
   .24.:   pass
   .24.:

In [25]: a = Spam()

In [26]: a.__class__.__name__
Out[26]: 'Spam'
Blue-Tiger
User
Beiträge: 11
Registriert: Samstag 2. April 2005, 21:45
Kontaktdaten:

Mittwoch 20. April 2005, 16:37

thx, genau das hab ich gesucht :)

aber was ist der Unterschied zwischen den Klassennamen einer Variablen und dem Namen der Klasse des Objektes?
[b]Ordnung ist das Chaos, an das man sich gewöhnt hat
[i]Der Weg ist das Ziel[/b][/i]
[url=http://bluetiger.bauchlandung.org/]bluetiger.bauchlandung.org[/url]
BlackJack

Mittwoch 20. April 2005, 22:08

`a` ist die Variable bzw. ein Variablenname. Und ein Name hat keine Klasse. Nur das Objekt an den dieser Name gebunden ist hat eine.
Antworten