Hallo zusammen, ich wende mich mal wieder an Euch da ich ein (eurer Meinung nach) gutes Nachschlagewerk bzw. eine Website oder Web- Dokument suche welches mir die Art und Weise nahebringt wie man bestimmte Aufgaben in Python umsetzt. Ich komme aus von der Sprache C und ich denke meine Python Programme orientieren sich sehr an diesem Stil. Ich hab bisher in dem Gallileo OpenBook gestöbert aber in einer der letzten Posts wurde erwähnt dass diese Dokument nicht sonderlich geeignet wäre um Python richtig zu erlernen. Kurze Beschreibung meiner Applikation: Ich beabsichtige mittels GPIB mehrere Messgeräte auszulesen und die Messwerte dann entsprechend weiter zu verarbeiten. Im ersten Ansatz habe ich eine Klasse GPIB_BUS erstellt welche folgende Eigenschaften besitzt: Methonden: __init__(self) __scanBus__(self) __getBusDeviceList__(self) sendSCPI_Message(self, messagestring) receiveSCPI_Message(self) Attribute: DeviceList __connectedDevices BusStatus Für das entsprechende angeschlossene Messgerät erstellte ich eine Klasse wie z. B. Agilent34405A Die von GPIB_BUS abzuleiten nicht sehr zweckmäßig ist da ich dann alle angeschlossenen Geräte in diesem einen Gerät wieder finde und ja eigentlich nur die Eigenschaften diese Gerätes beim Benutzen der Klasse von Belang sind. Methoden: __init__(self) Configure(self, messbereich, messgroesse, signalform) getMeasurement(self) Attribute: __AC_Current_max__ __AC_Current_min__ __func_arg__ __meas_arg__ __range_arg__ usw. Ich könnte mir deshalb vorstellen dass ich eine Klasse GPIB_BUS erstelle von der nicht abgeleitet wird sondern nur als Modul Verwendung findet und von einer Klasse GPIB_DEVICE importiert wird von der dann Klassen spezieller Geräte wie z. B. Agilent34405A abgeleitet werden. Hier bin ich auch über das Stichwort der Properties gestolpert welches mir das Leben mit dieser Problemstellung erleichtern könnte allerdings waren die von mir gefundenen Erläuterungen wann und wie ich Properties richtig und sinnvoll einsetzte nicht besonders aufschlussreich. Ich hoffe ihr könnt mich an Dokumente verweisen, die mir aufzeigen wie solche Problemstellungen "pythonisch" gelöst werden würden. Vielen Dank bereits im Voraus Frank -- Bevor Sie diese E-Mail ausdrucken, überlegen Sie bitte, ob dies wirklich erforderlich ist. Please think before you print. -- WIKA Alexander Wiegand SE & Co. KG Alexander-Wiegand-Straße 30 - 63911 Klingenberg - Germany Kommanditgesellschaft: Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 1819 Komplementärin: WIKA Verwaltungs SE & Co. KG - Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 4685 Komplementärin: WIKA International SE - Sitz Klingenberg - Amtsgericht Aschaffenburg HRB 10505 Vorstand: Alexander Wiegand Vorsitzender des Aufsichtsrats: Dr. Max Egli Telefon: (09372) 132-0 Internet: www.wika.com -- The information contained in this E-Mail and any attached files are strictly confidential and may be subject to legal privilege. If you are not the intended recipient, his representative or the person responsible for delivering the message to the intended recipient, be advised that you have received this message in error and that any dissemination, copying or use of this message or attachment is strictly forbidden, as is the disclosure of the information therein. If you have received this E-Mail in error, please notify us immediately by E-Mail or telephone and delete this message and all its attachments subsequently. All reasonable precautions have been taken to ensure no viruses are present in this E-Mail.
ich wende mich mal wieder an Euch da ich ein (eurer Meinung nach) gutes Nachschlagewerk bzw. eine Website oder Web- Dokument suche welches mir die Art und Weise nahebringt wie man bestimmte Aufgaben in Python umsetzt. Ich komme aus von der Sprache C und ich denke meine Python Programme orientieren sich sehr an diesem Stil. Ich hab bisher in dem Gallileo OpenBook gestöbert aber in einer der letzten Posts wurde erwähnt dass diese Dokument nicht sonderlich geeignet wäre um Python richtig zu erlernen.
Kurze Beschreibung meiner Applikation:
Ich beabsichtige mittels GPIB mehrere Messgeräte auszulesen und die Messwerte dann entsprechend weiter zu verarbeiten.
Im ersten Ansatz habe ich eine Klasse GPIB_BUS erstellt welche folgende Eigenschaften besitzt: Methonden: __init__(self) __scanBus__(self) __getBusDeviceList__(self) Die Doppel-Unterstrich (neulich gehoert: "dunder"…) Bezeichnung von Methoden ist gedacht fuer Python-eigene spezielle Methoden, wie zB eben _init_, dem Initialisierungs-Code der Klasse.
Bei deinen eigenen Methoden und Namen hat das nichts zu suchen.
receiveSCPI_Message(self)
Attribute: DeviceList __connectedDevices
Lies dir mal bitte PEP8 durch. Dort werden Namenskonventionen vorgeschlagen, denen man folgen sollte, um den Code verstaendlicher zu machen. Zum einen sind CamelCase-Namen fuer Klassen reserviert, Attribute & Methoden werden klein und ggf mit Unterstrich geschrieben. Und zum anderen fuehrt der dunder von __connectedDevices dazu, dass der Name "gemangled" wird. Das wird gerne falsch verstanden als "Ditt is privat". So ist es weder gemeint (es dient dazu, Namenskonflikte in Ableitungshierarchien vorzubeugen), noch ist die Semantik gegeben (ich kann da trotzdem drauf zugreifen). Stattdessen werden dadurch subtile Fehler moeglich, weil in abgeleiteten Klassen ein anderes Attribut damit gemeint ist.
BusStatus
Für das entsprechende angeschlossene Messgerät erstellte ich eine Klasse wie z. B. Agilent34405A Die von GPIB_BUS abzuleiten nicht sehr zweckmäßig ist da ich dann alle angeschlossenen Geräte in diesem einen Gerät wieder finde und ja eigentlich nur die Eigenschaften diese Gerätes beim Benutzen der Klasse von Belang sind. Methoden: __init__(self) Configure(self, messbereich, messgroesse, signalform)
Wieso ist das nicht Teil des Konstruktors?
getMeasurement(self)
Attribute: __AC_Current_max__ __AC_Current_min__ __func_arg__ __meas_arg__ __range_arg__
Schon wieder die dunders. Weglassen.
usw.
Ich könnte mir deshalb vorstellen dass ich eine Klasse GPIB_BUS erstelle von der nicht abgeleitet wird sondern nur als Modul Verwendung findet und von einer Klasse GPIB_DEVICE importiert wird von der dann Klassen spezieller Geräte wie z. B. Agilent34405A abgeleitet werden.
Hoert sich sinnvoller an als von Bus abzuleiten. Hat aber mit Python nix zu tun, sondern ist generell OO. Oder geht's dir auch darum?
Hier bin ich auch über das Stichwort der Properties gestolpert welches mir das Leben mit dieser Problemstellung erleichtern könnte allerdings waren die von mir gefundenen Erläuterungen wann und wie ich Properties richtig und sinnvoll einsetzte nicht besonders aufschlussreich.
Ich hoffe ihr könnt mich an Dokumente verweisen, die mir aufzeigen wie solche Problemstellungen „pythonisch“ gelöst werden würden.
Kenne ich nix. Code schreiben, lesen, kritisieren lassen :) LG Diez
Wagner, Frank wrote:
ich wende mich mal wieder an Euch da ich ein (eurer Meinung nach) gutes Nachschlagewerk bzw. eine Website oder Web- Dokument suche welches mir die Art und Weise nahebringt wie man bestimmte Aufgaben in Python umsetzt. Ich komme aus von der Sprache C und ich denke meine Python Programme orientieren sich sehr an diesem Stil.
Python und C sind sich ähnlicher als es zunächst scheint.
Ich hab bisher in dem Gallileo OpenBook gestöbert aber in einer der letzten Posts wurde erwähnt dass diese Dokument nicht sonderlich geeignet wäre um Python richtig zu erlernen.
Ich liebe Understatement ;)
Kurze Beschreibung meiner Applikation:
Ich beabsichtige mittels GPIB mehrere Messgeräte auszulesen und die Messwerte dann entsprechend weiter zu verarbeiten.
Da ich von GPIB nichts verstehe, habe ich mich auf meine Kernkompetenz besonnen, d. i.: Google bedienen. Das fördert http://pyvisa.sourceforge.net/pyvisa.html zu Tage. Über Funktionsumfang und Qualität kann ich natürlich nichts sagen, aber das Interface macht auf den ersten Blick einen "pythonischen" Eindruck. Ansonsten schließe ich mich Diez an; lies PEP 8, vergiss die doppelten Unterstriche (außer bei __init__()) und -- show us some code.
Hallo
ich wende mich mal wieder an Euch da ich ein (eurer Meinung nach) gutes Nachschlagewerk bzw. eine Website oder Web- Dokument suche welches mir die Art und Weise nahebringt wie man bestimmte Aufgaben in Python umsetzt. Ich komme aus von der Sprache C und ich denke meine Python Programme orientieren sich sehr an diesem Stil.
Python und C sind sich ähnlicher als es zunächst scheint.
Ich hab bisher in dem Gallileo OpenBook gestöbert aber in einer der letzten Posts wurde erwähnt dass diese Dokument nicht sonderlich geeignet wäre um Python richtig zu erlernen.
Ich liebe Understatement ;)
so?
Kurze Beschreibung meiner Applikation:
Ich beabsichtige mittels GPIB mehrere Messgeräte auszulesen und die Messwerte dann entsprechend weiter zu verarbeiten.
Da ich von GPIB nichts verstehe, habe ich mich auf meine Kernkompetenz besonnen, d. i.: Google bedienen. Das fördert
http://pyvisa.sourceforge.net/pyvisa.html zu Tage. Über Funktionsumfang und Qualität kann ich natürlich nichts sagen, aber das Interface macht auf den ersten Blick einen "pythonischen" Eindruck.
Dieses Modul verwende ich bereits und funktioniert sehr gut ich wollte nur die Funktionalität durch Klassen an unsere Bedürfnisse anpassen
Ansonsten schließe ich mich Diez an; lies PEP 8, vergiss die doppelten Unterstriche (außer bei __init__()) und -- show us some code.
Werde ich beherzigen Gruß Frank _______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de -- Bevor Sie diese E-Mail ausdrucken, überlegen Sie bitte, ob dies wirklich erforderlich ist. Please think before you print. -- WIKA Alexander Wiegand SE & Co. KG Alexander-Wiegand-Straße 30 - 63911 Klingenberg - Germany Kommanditgesellschaft: Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 1819 Komplementärin: WIKA Verwaltungs SE & Co. KG - Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 4685 Komplementärin: WIKA International SE - Sitz Klingenberg - Amtsgericht Aschaffenburg HRB 10505 Vorstand: Alexander Wiegand Vorsitzender des Aufsichtsrats: Dr. Max Egli Telefon: (09372) 132-0 Internet: www.wika.com -- The information contained in this E-Mail and any attached files are strictly confidential and may be subject to legal privilege. If you are not the intended recipient, his representative or the person responsible for delivering the message to the intended recipient, be advised that you have received this message in error and that any dissemination, copying or use of this message or attachment is strictly forbidden, as is the disclosure of the information therein. If you have received this E-Mail in error, please notify us immediately by E-Mail or telephone and delete this message and all its attachments subsequently. All reasonable precautions have been taken to ensure no viruses are present in this E-Mail.
Frank! Ich kann dir ein sehr gutes Buch empfehlen, besser als das Zeugs von O'Reilly wenn du richtig geil Python programmieren lernen möchtest! Von APress, Beginning Python from Novice to Professional und wenn du die Geschichte lieber über .NET mit Python machen möchtest... dann von APress ebenfalls, "Pro Ironpython". Wenn du nicht weißt was IronPython ist: http://ironpython.net/ hat aber nur Sinn wenn du unter Windows Programmierst, und du unbedingt willst dass du von der .NET CLR profitieren möchtest. Deine Sache! Jedenfalls, wenn du ein Programm unter der .NET CLR schreibst, wird das nichts mit der portierung unter Windows, außer du benutzt "mono" http://www.mono-project.com/Python dann solltest du aber aufpassen welche Klassen unter Linux zur Verfügung stehen, damit du am Ende das Projekt auch unter der mono plattform zum laufen kriegst. Eine andere Lösung, wenn du Python Applikationen richtig schnell haben möchtest, wäre "PyPy": Ich persönlich finde anstelle von CPython, PyPy unheimlich schnell, weil der auch mit einem JIT Compiler kommt, aber unter Windows nur für 32 BIT ausgeliefert wird. Viel Spass und besonders, viel Erfolg! Tamer On 08/21/13 13:36, Wagner, Frank wrote:
Hallo
ich wende mich mal wieder an Euch da ich ein (eurer Meinung nach) gutes Nachschlagewerk bzw. eine Website oder Web- Dokument suche welches mir die Art und Weise nahebringt wie man bestimmte Aufgaben in Python umsetzt. Ich komme aus von der Sprache C und ich denke meine Python Programme orientieren sich sehr an diesem Stil.
Python und C sind sich ähnlicher als es zunächst scheint.
Ich hab bisher in dem Gallileo OpenBook gestöbert aber in einer der letzten Posts wurde erwähnt dass diese Dokument nicht sonderlich geeignet wäre um Python richtig zu erlernen.
Ich liebe Understatement ;)
so?
Kurze Beschreibung meiner Applikation:
Ich beabsichtige mittels GPIB mehrere Messgeräte auszulesen und die Messwerte dann entsprechend weiter zu verarbeiten.
Da ich von GPIB nichts verstehe, habe ich mich auf meine Kernkompetenz besonnen, d. i.: Google bedienen. Das fördert
http://pyvisa.sourceforge.net/pyvisa.html zu Tage. Über Funktionsumfang und Qualität kann ich natürlich nichts sagen, aber das Interface macht auf den ersten Blick einen "pythonischen" Eindruck.
Dieses Modul verwende ich bereits und funktioniert sehr gut ich wollte nur die Funktionalität durch Klassen an unsere Bedürfnisse anpassen
Ansonsten schließe ich mich Diez an; lies PEP 8, vergiss die doppelten Unterstriche (außer bei __init__()) und -- show us some code.
Werde ich beherzigen
Gruß
Frank
_______________________________________________ python-de maillist - python-de@python.org http://mail.python.org/mailman/listinfo/python-de
-- Bevor Sie diese E-Mail ausdrucken, überlegen Sie bitte, ob dies wirklich erforderlich ist. Please think before you print. -- WIKA Alexander Wiegand SE & Co. KG Alexander-Wiegand-Straße 30 - 63911 Klingenberg - Germany Kommanditgesellschaft: Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 1819 Komplementärin: WIKA Verwaltungs SE & Co. KG - Sitz Klingenberg - Amtsgericht Aschaffenburg HRA 4685 Komplementärin: WIKA International SE - Sitz Klingenberg - Amtsgericht Aschaffenburg HRB 10505 Vorstand: Alexander Wiegand Vorsitzender des Aufsichtsrats: Dr. Max Egli Telefon: (09372) 132-0 Internet: www.wika.com
participants (4)
-
Diez Roggisch
-
Peter Otten
-
Tamer Higazi
-
Wagner, Frank