Thread Was bedeutet das "-" ?
(19 answers)
Opened by hlubenow at 2009-02-22 22:54 LanX-+2009-02-24 17:06:01-- Aber gern! Ich wollte euch halt nicht gleich ungefragt mit Code in anderen Sprachen belästigen. Mit denen von http://www.python-forum.de/ hatte ich leider auch Ärger (die sind im allgemeinen schon recht kompetent, aber mehrere von ihnen sind leider sehr unhöflich, ich weiß nicht, warum). Vielleicht ist das auch einer der Gründe, warum ich jetzt mal hier auftauche. Also: In Python heißt das Schlüsselwort für Funktionen "def" (statt in Perl: "sub"). Bei der Funktionsbeschreibung gibt man an, welche Argumente die Funktion erhalten soll. Das ist ähnlich wie in C, aber man muß (und kann) nicht den Datentyp angeben. Man kann also folgendes machen: (Bitte aufrufen mit "python script.py".) Beim Funktionsaufruf kann man zudem festlegen, auf welche Argumente sich die Übergabewerte beziehen sollen. Man braucht dann auch die Reihenfolge der Übergabewerte nicht einzuhalten: Außerdem kann man bei der Funktionsbeschreibung zusätzlich Default-Werte für die Argumente angeben: Ein Klassenkonstruktor ist in Python im Prinzip genau so eine "def"-Funktion (mit dem festgelegten Namen "__init__" und der Klasse selbst als erstem Argument (self)). Man kann dem Konstruktor also auch auf die oben beschriebene Weise Werte übergeben (übrigens auch direkt Listen, Hashes oder sogar größere Objekte, ohne daß diese plattgedrückt werden, so daß man mit ihnen direkt weiterarbeiten kann). Die Perl/Tk-Zeile Code (perl): (dl
)
my $label = $main->Label(-text => 'Hello, world!'); sähe in Python/Tkinter dann also so aus: Code: (dl
)
label = Tkinter.Label(master = main, text = 'Hello, world!') Lauffähiger Code dann insgesamt: Code: (dl
)
1 import Tkinter Da die Werte in der Weise wie oben angegeben übergeben werden müssen, muß man hier "master = main" und "text = 'Hello, world!'" schreiben (oder schlicht "main, 'Hello, world!'). Sowas wie "-master => main" geht aber nicht. Also kein Bindestrich. Hmm, ich hoffe, ich habe mich klar genug ausgedrückt. Viele Grüße |