Wie sage ich es in Python ? (Einsteigerfragen)

Registriere dich jetzt, um exklusive Vorteile zu genießen! Als registriertes Mitglied kannst du Inhalte herunterladen und profitierst von einem werbefreien Forum.
Mach mit und werde Teil unserer Community!

  • ...Wer programmieren lernen will muss zwangsläufig auch englisch lernen oder er kommt über den "absolute-Grundlagen-Nutzer" nie hinaus.


    Meine Standardantwort bei Neulingen die mit dem Programmieren anfangen wollen und fragen welche Sprache sie lernen sollen, sage ich immer ENGLISCH!

    "Ein jeder, weil er spicht, glaubt auch über die Sprache sprechen zu können."
    J.W. Goethe

  • Eine Referenz in deutsch kenne ich auch nicht. Vielleicht ist eine in den verfuegbaren Hardcopies enthalten.


    Ich habe eben mal nach weiteren Buechern zu Python im Netz gesucht und wurde z.B. bei Amazon fuendig. Da gibt es eine Menge deutsche Buecher. Allerdings sind da auch bis zu €50 pro Buch abzudruecken... Die Buecherschreiber wollen auch leben. Hardcopies haben leider den Nachteil dass sie nicht durchsuchbar sind. Zum Einstieg sind aber eine Hardcopy oder eines oder mehrere der Onlinebuecher immer anzuraten.
    Jenachdem wie tief man einsteigen will wird man aber irgendwann nicht daran vorbeikommen englische Hard- oder Softcopies bzw Webseiten/Foren zu lesen.


    Ich fuer meinen Teil suche eigentlich nur noch im Netz und benutze dazu nur die englischen Begriffe, da die Trefferwahrscheinlichkeit wesentlich hoeher ist.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)

  • Gestern auf der Suche was gefunden: http://abop-german.berlios.de/read/index.html


    Sehr gut. Habe ich oben in der konsolidierten Liste aufgenommen.
    [hr]


    Hier eine Übersetzung der Python Referenz von David M. Beazley:


    Auch sehr gut. Befindet sich jetzt auch oben in der konsolidierten Liste :thumbs1:

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)

    Edited once, last by framp ().

  • Mal ne Frage von jemandem der nur Bash macht.
    Wo ist der Unterschied zwischen Python 2 und 3 ?

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Die Übersetzung der Python Referenz von David M. Beazley ist schon etwas älter (Python 1.5.2) aber das Grundsätzliche was die Synthax u.ä. betrifft hat sich nicht geändert.
    [hr]


    Mal ne Frage von jemandem der nur Bash macht.
    Wo ist der Unterschied zwischen Python 2 und 3 ?


    Hier steht es.

    "Ein jeder, weil er spicht, glaubt auch über die Sprache sprechen zu können."
    J.W. Goethe

    Edited once, last by alexwatermann ().

  • OK, danke für den Link.
    Sind ja doch ein paar Elementare Unterschiede und fehlende Abwärtskompatiblität.
    Also besser gleich die Syntax von 3 lernen ?

    Offizieller Schmier und Schmutzfink des Forum.
    Warum einfach wenn's auch schwer geht ?


    Kein Support per PN !
    Fragen bitte hier im Forum stellen. So hat jeder etwas davon.

  • Hier noch ein Link zu Python 2 vs Python 3. Ich würde mit 3 sofort anfangen. Allerdings wirst Du, wenn Du Dir auch 2er Code zum Lernen ansehen willst (was durchaus angeraten ist) u.U. kleine Verstaendnisprobleme bekommen. Ich denke aber dass die nicht so gravierend sein werden (Ich arbeite bislang nur mit der 2er Version).

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Ich bin mir nicht ganz sicher, aber ich glaube Python 3 ist auf der ARM-Architektur noch nicht verbreitet.
    Es gibt keine offizielen Distros soweit ich weiß. Bitte korrigiert mich wenn ich mich täusche. Also auf allen Geräten die ich zu Hause mit ARM Prozessor habe ist Python 2.x vorinstalliert. Auf meinem PC (Ubuntu 12.04) ist dagegen die 3.x.

    "Ein jeder, weil er spicht, glaubt auch über die Sprache sprechen zu können."
    J.W. Goethe

  • Das ist der Stand bei mir auf einem frischen System


    Code
    root@raspi005:/usr/bin# ls -l pyth*
    lrwxrwxrwx 1 root root       9 Sep 28 21:41 python -> python2.7
    lrwxrwxrwx 1 root root       9 Sep 28 21:41 python2 -> python2.7
    -rwxr-xr-x 1 root root 2674528 Jan 13  2013 python2.7
    lrwxrwxrwx 1 root root       9 Oct 21  2012 python3 -> python3.2
    lrwxrwxrwx 1 root root      11 Mar  1  2013 python3.2 -> python3.2mu
    -rwxr-xr-x 1 root root 2814320 Mar  1  2013 python3.2mu
    lrwxrwxrwx 1 root root      11 Oct 21  2012 python3mu -> python3.2mu
  • Ok. Überzeugt.=(


    pi@raspberrypi /usr/bin $ ll pyth*
    lrwxrwxrwx 1 root root 9 Sep 28 21:41 python -> python2.7
    lrwxrwxrwx 1 root root 9 Sep 28 21:41 python2 -> python2.7
    -rwxr-xr-x 1 root root 2674528 Jan 13 2013 python2.7
    lrwxrwxrwx 1 root root 9 Oct 21 2012 python3 -> python3.2
    lrwxrwxrwx 1 root root 11 Mar 1 2013 python3.2 -> python3.2mu
    -rwxr-xr-x 1 root root 2814320 Mar 1 2013 python3.2mu
    lrwxrwxrwx 1 root root 11 Oct 21 2012 python3mu -> python3.2mu
    pi@raspberrypi /usr/bin $ python3
    Python 3.2.3 (default, Mar 1 2013, 11:53:50)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>
    pi@raspberrypi /usr/bin $ python2
    Python 2.7.3 (default, Jan 13 2013, 11:20:46)
    [GCC 4.6.3] on linux2
    Type "help", "copyright", "credits" or "license" for more information.
    >>>

    "Ein jeder, weil er spicht, glaubt auch über die Sprache sprechen zu können."
    J.W. Goethe

  • Hallo zusammen, habe vor mir einen motorisierten panoramakopf zu bauen, wie hier beschrieben:


    http://gigapi.blogspot.co.uk/


    Die verkabelung hab ich schon gelöst, auch drehen sich beide Motoren schon, nur habe ich für jeden ein eigenes Sript. Wie kann ich mit dem Script zwei Motoren steuern und diesen sagen, dass sie 50 jeweil stepperschritte machen sollen?


    Stepper 1 ist wie folgt angeschlossen:
    IN 1 = Pin 18
    IN 2 = Pin 22
    IN 3 = Pin 24
    In 4 = Pin 26

    Stepper 2 ist wie folgt angeschlossen:
    IN 1 = Pin 7
    IN 2 = Pin 11
    IN 3 = Pin 13
    IN 4 = Pin 15


    Danke im Vorraus
    Stone

  • So wie ich das sehe musst Du die while loop erweitern und darin beide Motoren steueren. Um 50 Steps zu steuern musst Du die Listen die momentan nur 4 bzw 8 Elemente haben auf 50 erweitern. Das wäre der einfachste Ansatz mit copy&paste. Geschickter wäre es die kleine Stepper Loop in eine Funktion zu kapseln und dann jeweils 2 Aufrufe dieser Funktion entsprechend parametrisiert in der Loop vorzunehmen. Noch eleganter wäre es den Motor in einer eigenen Klasse zu kapseln.


    Der richtige Weg wäre wohl die beiden Motoren mit Threading zu betreiben. Das ist dann aber schon nicht mehr Einsteigerlevel.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)
  • Wie soll ich das am besten angehen? Hat jemand ein Script das man abändern kann oder wie fängt man am besten an?
    Kann mir jemand ein Buch zum Python programmieren empfehlen?


    Danke und schönen Abend!


  • Wie soll ich das am besten angehen? Hat jemand ein Script das man abändern kann oder wie fängt man am besten an?

    Ich würde erst einmal ein (Online)Buch lesen und durchgehen so dass Du verstanden und auch kleine Programme geschrieben hast wie eine Loop funktioniert, wie Listen funktioneren und wie Funktionen funktionieren. Danach solltest Du Dein existierendes Programm für einen Motor so umbauen können, dass es zwei Motoren steuert und 50 Positionen bearbeitet. Wenn Du soweit bist würde ich einen neuen Thread im Python Forum erstellen, wo Du Dein umgestelltes Programm vorstellst und um Feedback fragst. Damit Mitleser hier auch Deinen neuen Thread mitbekommen würde ich in diesem Thread noch kurz Querverlinken auf Deinen neuen Thread.

    Quote

    Kann mir jemand ein Buch zum Python programmieren empfehlen?

    Diese Seite oder mal bei Amazon nach Python suchen.
    [hr]
    Damit Du verstehst was ich mit dem 2ten Ansatz meine anbei ein Beispielcode wie man das mit einer Funktion erledigen kann:

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)

    Edited once, last by framp ().

  • Anbei der Ansatz mit einer Klasse:


    [hr]
    Und Zum Schluss der Ansatz mit Threads. Dabei können dann die Motoren unterschiedlich schnell drehen.

    :no_sad: Kein Backup - kein Mitleid :no_sad:
    :) Nutze lieber raspiBackup bevor Du in die Luft gehst :)

    Edited once, last by framp ().

    • Official Post


    OK, danke für den Link.
    Sind ja doch ein paar Elementare Unterschiede und fehlende Abwärtskompatiblität.
    Also besser gleich die Syntax von 3 lernen ?


    ich lehne Python 3 ab. ;) und bleibe beim 2er Zweig, welcher komplett unabhängig weiterentwickelt wird. Die Unterschiede mögen für den Anfänger nicht klar ersichtlich sein aber wer schon etwas länger dabei ist, empfindet es teilweise als befremdlich wie sich p3 entwickelt. Das print jetzt ne Funktion ist, möge (und ist) logisch sein, allerdings kann ich mich an die Syntax einfach nicht gewöhnen. Auch das String Replacement u. Formating empfinde ich als syntaktisch unschön.

  • Ich bin jetzt dabei, mit Python neu bei zu bringen. Ich werde allerdings mit Python 3 starten.
    Wenn hier etwas dagegen spricht, oder ich besser mit Python 2 starten soll bitte gebt mir bescheid.


    Nun hätte ich aber eine Frage bezüglich Python. Ich hoffe einfach mal, dass Python die beste Wahl ist...
    Ich habe 2 RasPi zuhause, einer wird eigentlich nur als Internetradio verwendet.
    Auf dem 2ten RasPi soll alles mögliche laufen. Von dem 2ten würde ich nun auch gerne ein Python Script schreiben, dass auf dem Internetradio Pi die Sender Stoppt, Startet, oder Sender wechselt.
    Bevor die Frage kommt warum ich nicht direkt auf dem Internetradio Pi umschalte:
    Ich würde mir gerne ein PHP Script bauen, das angezeigt wird, und darauf sind lauter Buttons, damit man umschalten kann. PHP ist aber auf einem anderen Pi installiert.


    PHP soll das Python Script aufrufen. In dem Python Script soll "nur" stehen, dass es den Sender auf dem anderen Pi Startet, Stoppt oder sonst was.


    Ich hoffe es ist einigermaßen verständlich.