Seite 1 von 1

Problem mit Aufrufen einer Klasse

Verfasst: Montag 26. Januar 2004, 17:30
von 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

Verfasst: Montag 26. Januar 2004, 17:54
von Milan
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

Verfasst: Montag 26. Januar 2004, 18:47
von 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