Seite 1 von 1

exit klasse funzt nich

Verfasst: Freitag 6. Februar 2004, 15:02
von DER Olf
hi. ich lerne grad OOP und versuche einfache sachen (z.b. print anweisung, Tk-Fenster, Tk-Fesnter mit button) als klassen zu schreiben.
jetzt hab ich es mal mit sys.exit() versucht:

Code: Alles auswählen

from sys import exit

class Ende(exit):
    def __init__(self, exit):
        exit(0)

e = Ende(exit)

e.__init__(exit)
jedoch kommt immer dieser fehler, und ich weiß nicht was damit gemeint ist:

Code: Alles auswählen

Traceback (most recent call last):
  File "C:\Server\python\Lib\site-packages\Pythonwin\pywin\framework\scriptutils.py", line 310, in RunScript
    exec codeObject in __main__.__dict__
  File "D:\Dokumente und Einstellungen\Florian Löber\Desktop\exit.py", line 8, in ?
    class ende(exit):
TypeError: cannot create 'builtin_function_or_method' instances
könnt ihr mir weiterhelfen? was hab ich falsch gemahct?

Verfasst: Freitag 6. Februar 2004, 15:17
von Milan
Hi. Eigentlich so alles, was man erwischen kann :wink: . Am besten du suchst dir mal ein Tutorial hier aus dem Forum, das Thema gabs schon oft. Ich will man versuchen, dir kurz deine Fehler zu zeigen:

Code: Alles auswählen

from sys import exit 

class Ende(exit): # man kann von keiner Funktion Ableiten/Vererben. Das geht nur von Klassen
    def __init__(self, exit): #hier übergibst du die exit funktion. ist ok, aber ohne ginge es auch, da exit global ist
        exit(0) 

e = Ende(exit) #Klasse wird instanziert und damit die __init__ gerufen. 

e.__init__(exit)# erübrigt sich...
Im Endeffekt wäre deine Klasse funktionstüchtig, wenn du schreiben würdest class Ende:.

Milan

Verfasst: Freitag 6. Februar 2004, 15:34
von DER Olf
hehe,...volltreffer :D

so funzt es:

Code: Alles auswählen

from sys import exit

class Ende:
      def __init__(self):
          exit(0)

e = Ende()
danke