Fehler Code

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.
-Sugar Princes-
User
Beiträge: 38
Registriert: Freitag 8. April 2005, 16:33
Wohnort: Krefeld

hehe :P

aber erst nachträglich 8)

ja ich guck mal :wink:

_____________________________

*args = *arguments
**kwargs = **keywords

richtig?

es muss immer erst das wort mit einem (*) stehen danach das mit (**)
rayo
User
Beiträge: 773
Registriert: Mittwoch 5. November 2003, 18:06
Wohnort: Schweiz
Kontaktdaten:

Hi

Ja ist für variable Anzahl von Parametern:
def test(*args) -> in *args landen alle test(1,'test', None) -> args = [1, 'test', None]

def test(**kwargs) -> in *kwargs landen alle keyword-arguments test(ein=1, test='nix da', rest=None) -> kwargs = {'ein':1,'test':'nix da', 'rest': None}

Bei Tkinter kann man ebe zimlich viele sachen als keyword-arguments übergeben, darum mach ich das dort, um es weiter zugeben beim init der canvas

Gruss
-Sugar Princes-
User
Beiträge: 38
Registriert: Freitag 8. April 2005, 16:33
Wohnort: Krefeld

so hab jetzt mal deine sachen eingebaut etc.

und CM's Vorschlag mit Docstring ausprobiert aber jetzt kommt Fehlermeldung und er kann den würfel nicht zusammenbringen

denk mal das ich irgendwas im aufbau des docstrings falsch gemacht habe

bitte um hilfe

Code: Alles auswählen


class Cube(Tk.Canvas):    
"""
Würfel wird instanziert
"""
    def __init__(self,parent,*args, **kwargs):
        
        try:
            kwargs['width']
        except KeyError:
            kwargs['width'] = 500

        try:
            kwargs['height']
        except KeyError:
            kwargs['height'] = 500

        Tk.Canvas.__init__(self, parent, *args, **kwargs)
        self.root = parent

        self.center = kwargs['width']/2
        self.scale  = kwargs['width']/2.0*0.5
"""

- def __init__ = Aufruf einer starken privaten Methode, die nur innerhalb der Klasse gilt
- Erstellung eines Objektes in einer Klasse
- *args = * arguments; ** kwargs = * keywords arguments
  Alle Argumente mit einem Stern (*) stehen vor den Argumenten mit zwei Sternen (**)
- Falls width und height nicht übergeben werden, wird width und height mit je 500 (Breite und Höhe der Canvas) pixel erstellt
- Vaiable Anzahl von Parametern

  Beispiel:

  def test (*args)       ->   in *args landen alle test(1,'test',None)
  -> args = [1,'test',None]
  
  def test (**kwargs)    ->   in **kwargs landen alle Keyboard-arguments test (ein=1,test='nix da', rest=None)
  -> kwargs = {'ein':1,'test':'nix da','rest':None}

- Tkinter kann viele Sachen als Keyword-Arguments übergeben, Weitergabe beim __init__ des Canvas

"""
fehlermeldung im def __init__

3 uhr nachts ich geh mal schlafen :P - gute nacht :wink:
-Sugar Princes-
User
Beiträge: 38
Registriert: Freitag 8. April 2005, 16:33
Wohnort: Krefeld

mhh! sry leute da hab ich wohl irgendwie einen fehler eingebaut

hab es jetzt genauso wie es hier steht und es funktioniert :?

vll. ein tippfehler von mir irgendwo na ja wollte es euch nur sagen :)
Antworten