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

Wie sage ich es in Python ? (Einsteigerfragen)
- framp
- Thread is marked as Resolved.
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!
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!
-
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.
-
-
Hier eine Übersetzung der Python Referenz von David M. Beazley:
-
stackoverflow bietet auch ein Potpourri der Fröhlichkeit (aus programmierer sicht). Da dort viele Themen oder "wie mache ich" inkl. codeschipseln abgehandelt sind.
-
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: -
-
Mal ne Frage von jemandem der nur Bash macht.
Wo ist der Unterschied zwischen Python 2 und 3 ? -
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.
-
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 ? -
-
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).
-
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. -
Das ist der Stand bei mir auf einem frischen System
Coderoot@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.
>>> -
Hallo zusammen, habe vor mir einen motorisierten panoramakopf zu bauen, wie hier beschrieben:
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 15Danke 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.
-
-
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.
QuoteKann 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:Python
Display More#!/usr/bin/python # -*- coding: utf-8 -*- import time # initialisiere ersten Motor seq1 = [ [1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,0,1] ] seqCount1 = 0 # initialisiere zweiten Motor seq2 = [ [1,1,0,0], [0,1,1,0], [0,1,1,0], [0,1,0,1] ] seqCount2 = 0 # wartezeit bei beiden Motoren waitTime = 0.5 def bewegeMotor(seq, seqCount): print "Bewege %d %s" % (seqCount, seq[seqCount]) seqCount += 1 # nächsten Step beim nächsten Mal ausführen seqCount = seqCount % len(seq) # Grösse der Liste nicht überschreiten return seqCount while True: seqCount1=bewegeMotor(seq1,seqCount1) seqCount2=bewegeMotor(seq2,seqCount2) time.sleep(waitTime)
-
Anbei der Ansatz mit einer Klasse:
Python
Display More#!/usr/bin/python # -*- coding: utf-8 -*- import time class Motor(object): def __init__(self, seq): self.__seq=seq self.__seqCount=0 def bewege(self): print "Bewege %d %s" % (self.__seqCount, self.__seq[self.__seqCount]) self.__seqCount += 1 # nächsten Step beim nächsten Mal ausführen self.__seqCount = self.__seqCount % len(self.__seq) # Grösse der Liste nicht überschreiten # initialisiere ersten Motor seq1 = [ [1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,0,1] ] # initialisiere zweiten Motor seq2 = [ [1,1,0,0], [0,1,1,0], [0,1,1,0], [0,1,0,1] ] # wartezeit bei beiden Motoren waitTime = 0.5 motor1=Motor(seq1) motor2=Motor(seq2) while True: motor1.bewege() motor2.bewege() time.sleep(waitTime)[
[hr]
Und Zum Schluss der Ansatz mit Threads. Dabei können dann die Motoren unterschiedlich schnell drehen.Python
Display More#!/usr/bin/python # -*- coding: utf-8 -*- import time, threading class Motor(threading.Thread): def __init__(self, seq, wait, name): self.__seq=seq self.__seqCount=0 self.__wait=wait self.__name=name threading.Thread.__init__(self) def bewege(self): print "Bewege %s: %d %s" % (self.__name, self.__seqCount, self.__seq[self.__seqCount]) self.__seqCount += 1 # nächsten Step beim nächsten Mal ausführen self.__seqCount = self.__seqCount % len(self.__seq) # Grösse der Liste nicht überschreiten def run(self): while True: self.bewege() time.sleep(self.__wait) # initialisiere ersten Motor seq1 = [ [1,0,0,0], [0,1,0,0], [0,0,1,0], [0,0,0,1] ] waitTime1 = 0.5 # initialisiere zweiten Motor seq2 = [ [1,1,0,0], [0,1,1,0], [0,1,1,0], [0,1,0,1] ] waitTime2 = 1.0 # definiere Motoren mit unterschiedlicher waitTime motor1=Motor(seq1,waitTime1,"Motor1") motor2=Motor(seq2,waitTime2,"Motor2") # Merke Threads threads = [motor1, motor2] # starte Threads for thread in threads: thread.start() # Warte bis Threads beendet sind for x in threads: x.join()
-
-
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.