neu in Python und Syntax etc. Fragen

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
INIING
User
Beiträge: 2
Registriert: Mittwoch 21. Oktober 2015, 10:50

Hallo,

bin neu im Forum und auch neu in Python. Habe bislang in verschiedenen Sprachen objektorientiert und auch nicht programmiert.

Ich frage mich nach dem Unterschied von:

from hardware import bootstick
from hardware.bootstick import BootStick

Bootstick ist die Klasse und bootstick das Skript. Importiere ich nicht automatisch die Klasse, wenn ich das Skript importiere.

Außerdem warum sind hier 2 Klammern?

self.monitor = sramlink.get_version("0.7.0")(bs)

Freue mich auf Erklärungen.
BlackJack

@INIING: Du importierst das was Du auch tatsächlich importierst. Wenn Du ein Modul importierst, dann ist auch nur das Modul unter einem Namen in den importierenden Namensraum importiert worden. Über das Modul kannst Du dann auf die Klasse darin (oder andere an Namen gebundene Werte) zugreifen. Wenn Du dagegen Namen aus Modulen importierst, dann sind die Objekte die im Modul an diesen Namen gebunden werden auch im importierenden Namensraum an diesen Namen gebunden Oder an einen anderen wenn man ``as`` verwendet..

Klammern rechts von einem Ausdruck bedeuten einen Aufruf des Objekts das durch den Ausdruck beschrieben wird. In dem Beispiel wird also das Objekt das der Ausdruck ``sramlink.get_version`` ergibt mit dem Argument '0.7.0' aufgerufen und dieser Aufruf gibt wieder etwas aufrufbares zurück was dann mit dem Argument `bs` aufgerufen wird. Das Ergebnis davon wird dann `self.monitor` zugewiesen. Funktione und Methoden, oder allgemein aufrufbare Objekte sind in Python Werte wie jeder andere auch. Die kann man als Argumente übergeben und als Rückgabewerte bei Aufrufen erhalten. Und in Datenstrukuren speichern. Eben ganz normale Werte. Und alles was man an einen Namen binden kann ist in Python ein Objekt und damit ein Wert. Das schliesst neben Funktionen und Methoden unter anderem auch Module und Klassen ein.
INIING
User
Beiträge: 2
Registriert: Mittwoch 21. Oktober 2015, 10:50

so, hoffe mal, dass ich das richtig verstanden habe und da hatte ich schon gedacht, dass der amerikanische Kollegen den Neuen (mich) damit verarschen möchte, dass in Python alles Objekte sind. :(

Danke für deine Antwort.

Wohlmöglich tauchen die Tage dann nochmals ein paar Fragen auf.

Stelle ich dann hier. :idea:
Benutzeravatar
cofi
Python-Forum Veteran
Beiträge: 4432
Registriert: Sonntag 30. März 2008, 04:16
Wohnort: RGFybXN0YWR0

Willkommen zu Python und hier im Forum!

Die Python Dokumentation hat ein Tutorial, das du vielleicht durcharbeiten solltest. Zu den weiteren Fragen: Wenn du mit "hier" meintest in diesem Thread, dann bitte nicht. Stelle sie in ihrem eigenen Thread. Das hilft anderen Leuten, die eventuell vor dem gleichen Problem stehen.
Antworten