Problem mit Aufrufen einer Klasse

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
dash

Hallo,
da mir letztens hier gut und schnell geholfen wurde, probiere ich es heute wieder ;)

Wir sollen in der Schule etwas probieren (genaueres spare ich mir jetzt, da ich nur zwei konkrete Probleme habe).
Das erste Problem ist folgendes:

Ich habe zwei Dateien, in der einen steht die Klasse mit den Definitionen:

Code: Alles auswählen

class oi:
    def z01(self):
        takeit=020
        uik=81
        print uik
        return takeit    
        return uik


Mit der anderen, zweiten Datei wird die Klasse aufgerufen:

Code: Alles auswählen

from u01 import *

tmp=oi()
tmp.z01()
Nun habe ich folgende Probleme:
1. Kommt folgende Fehlermeldung:
Traceback (most recent call last):
File "C:\Python23\Lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
exec codeObject in __main__.__dict__
File "C:\Python23\test\run.py", line 7, in ?
print uik
TypeError: z01() takes no arguments (1 given)
Welches "Argument" wird den Python "gegeben" ?

2. Wie übergebe ich eine Variable einer Klasse einer nächsten? Sprich: Wenn ich in der 1. Klasse die Variable "a" erzeuge und mit einem Wert besetze, wie kann ich diese dann in bzw mit der 2. Klasse aufrufen und nutzen?

Hoffe auf schnelle Antworten :wink:,
dash
Milan
User
Beiträge: 1078
Registriert: Mittwoch 16. Oktober 2002, 20:52

zu 1.) Hier fehlt eindeutig etwas mehr Quelltext, da die Zeilen die du geschrieben hast keine Fehler verursachen dürften --> der Fehler muss woanders liegen und dazu brauchts etwas mehr... (was anderes, was mir komisch vorkommt, ist, dass du zweimal etwas mit return zurückgeben willst)

zu 2.) zum einen über Vererbung, zum anderen über direkten Aufruf:

Code: Alles auswählen

class A:
    a=55
class B:
    b=A.a
dash

Vielen Dank für die schnelle Antwort.

Du hast Recht, nachdem ich PythonWin IDE neugestartet hatte, ging es reibungslos.
Hab jetzt auch kein Problem mehr :wink:

Danke!

dash
Antworten