Python 2.7 Tutorial

      Python 2.7 Tutorial

      Dann melde ich mich mal wieder mit meinen zweiten Tutorial. ;)
      Warum ich das hier schreibe?

      Bisher ist ja noch nicht so viel los was?
      War ja klar.


      Dann fangen wir mal an.
      Für dieses Tutorial gehe ich davon aus, dass ihr bereits eine andere Programmiersprache könnt, darum werde ich ein paar Sachen nicht erklären und ich gehe davon aus, dass ihr das wisst. Falls ihr keine andere Programmiersprache könnt solltet ihr sowieso nicht Python lernen!

      Was ist Python?
      Python ist eine Objekt-Orientierte Interpretersprache. Das heißt, dass Python einen Intepreter zum ausführen der Scripte braucht.
      Es kann nicht wie C++ kompiliert werden.

      Eignet sich Python als meine erste Programmiersprache?
      Nein! Python setzt vorraus, dass der Programmierer weiß was er tut. Als erste Sprache eignet sich C und dann eine OOP Sprache wie Java oder C++.

      Wo kann ich Python überall verwenden?
      Python funktioniert auf Windows, Mac OS X, vielen Linuxpartitionen und Android.


      Welche Programme sind in Python (teilweise) geschrieben?
      Programme: BitTorrent, Ubuntu Software Center
      Spiele: Battlefield 2, EVE Online, Civilisation 4, Bounty Bay Online
      Webserver: Google, Dropbox
      Gameserver: EVE Online
      Eine große Liste gibt es hier.


      Das ist zwar nett, aber welche Version soll ich nehmen?
      2.x ist meiner Meinung nach die beste! Firmen wie Google verwenden immer noch 2.x und es ist mit den meisten Bibliotheken kompatibel.


      Python download:
      Version 2.7.5
      Windows
      Mac OS X

      Version 3.3.2
      Windows
      Mac OS X


      Der Syntax von Python

      Python ist sehr einfach zu lernen und verzichtet auf Strichpunkte und Klammern.
      Dies ist möglich mit "White Spaces", die die Klammern ersetzen.

      Python im Vergleich zu C und Java:
      C:

      C-Quellcode

      1. #include <stdio.h>
      2. #include <stdlib.h>
      3. int main()
      4. {
      5. int i = 0, y = 5;
      6. while (i<y) { //Ich bin ein Kommentar
      7. if (i<y)
      8. i++;
      9. if (i==y) {
      10. i--;
      11. y--;
      12. } else {
      13. i++;
      14. y++;
      15. }
      16. if(i==4 && y ==4) {
      17. i--;
      18. y -= 2;
      19. }
      20. printf("i: %d, y: %d\n",i,y);
      21. }
      22. return 0;
      23. }



      Java:

      Java-Quellcode

      1. package application_01;
      2. public class Application_01 {
      3. public static void main(String[] args) {
      4. int i=0, y=5;
      5. while(i<y) { //Ich bin ein Kommentar
      6. if(i<y)
      7. i++;
      8. if(i==y) {
      9. i--;
      10. y--;
      11. } else {
      12. i++;
      13. y++;
      14. }
      15. if(i==4 && y==4) {
      16. i-=1;
      17. y-=2;
      18. }
      19. System.out.println("i: "+i+", y: "+y);
      20. }
      21. }
      22. }


      Python:

      Quellcode

      1. i=0
      2. y=5
      3. while i<y: #Ich bin ein Kommentar
      4. if i<y:
      5. i+=1
      6. if i==y:
      7. i-=1
      8. y-=1
      9. else:
      10. i+=1
      11. y+=1
      12. if i==4 and y==4:
      13. i-=1
      14. y-=2
      15. print "i: "+str(i)+", y: "+str(y)



      Unser erstes Programm

      Quellcode

      1. print "Hallo Welt"

      Im Gegensatz zu C oder Java braucht man in Python keine Klasse oder eine main() Funktion.

      Starten kann man das Script durch Doppelklick oder in der IDLE mit F5.

      Auch in der Konsole ist das möglich. Mit den Befehl "py".
      Beispiel:

      Quellcode

      1. py PythonScript.py



      Variablen
      Nun kommen wir zum Thema Variablen. Es gibt in Python 3 Datentypen. Integers (int), Strings (str) und Boolean (True oder False).
      Ein Beispiel:

      i = 12
      f = 1.2
      s = "Ich bin ein String"
      global globale_variable #Eine globale Variable

      fi = i+f
      print "fi: "+str(fi)

      print s
      s += " und noch immer"
      print "String"+s


      Um Variablen zu deklarieren brauchen wir keinen Datentyp angeben, jedoch um ihn mit einen Text auszugeben, müssen wir ein str( ) davor setzen um ihn in einen String "umzuwandeln".
      "globale_variable" ist wie der Name schon sagt eine globale Variable.



      Schleifen & If Abfragen

      Quellcode

      1. i=0
      2. y=5
      3. while i<y:
      4. if i<y:
      5. i+=1
      6. if i==y:
      7. i-=1
      8. y-=1
      9. else:
      10. i+=1
      11. y+=1
      12. if i==4 and y==4:
      13. i-=1
      14. y-=2
      15. for k in range(0,4):
      16. print "i: "+str(i)+", y: "+str(y)+", k: "+str(k)


      Da ich voraussetze, dass Python nicht eure erste Sprache ist, gibt es hier nicht viel zu sagen.
      Was ich erklären sollte ist die for Schleife.
      Anders wie bei C gibt man bei Python in range(anfang, ende) den Anfangswert und den Endwert der Laufvariable an.


      Funktionen
      Funkionen in Python sind nicht sehr viel anders als bei anderen Sprachen.
      Definiert werden sie mit "def" und dann den Namen der Funktion.

      Quellcode

      1. def schreibe(wert):
      2. wert = str(wert)
      3. print "Der uebergebene Wert ist "+wert
      4. print "Und ist ein String!"
      5. schreibe(123)
      6. schreibe("hallo welt")


      Auch bei Funktionen ist der Typ der Variablen egal.


      Hoffe ich habe euch Python etwas näher gebracht! Wenn ihr Fragen oder Probleme habt, erstellt am besten einen Thread im Pythonbereich!

      Dieser Beitrag wurde bereits 1 mal editiert, zuletzt von „ThunderByte“ ()

      Blender ist in C/C++ geschrieben. Man kann lediglich in Blender, Cinema4D und Maya eigene Skripts zum erstellen oder modifizieren von Objekten benutzen. Das ist übrigens ganz putzig und einfach:

      (vom Februar diesen Jahres)

      Spoiler anzeigen

      Quellcode

      1. # Neuronales Netz in Cinema4D (24.02.2013)
      2. # wieschoo.com
      3. import c4d
      4. from c4d import gui
      5. from random import randint
      6. from math import fabs
      7. from c4d import utils
      8. neuron_radius = 8000
      9. neuron_abstand = 3000
      10. neuron_anzahl_pro_dimension = 8
      11. max_unschaerfe = 1500
      12. min_unschaerfe = 1000
      13. position = []
      14. def randomshift():
      15. vorzeichen = randint(0,1)
      16. if vorzeichen ==0:
      17. vorzeichen = -1
      18. return randint(min_unschaerfe, max_unschaerfe)*vorzeichen
      19. def MakeExtrudeEditable(op,doc):
      20. doc.SetActiveObject(op)
      21. c4d.CallCommand(12236) # Make Editable
      22. c4d.CallCommand(100004768) # Select Children
      23. c4d.CallCommand(16768) # Connect+Delete
      24. ParentObject = c4d.BaseObject(c4d.Onull)
      25. doc.InsertObject(ParentObject)
      26. for x in xrange(0,neuron_anzahl_pro_dimension):
      27. for y in xrange(0,neuron_anzahl_pro_dimension):
      28. for z in xrange(0,neuron_anzahl_pro_dimension):
      29. # Koordinaten sind die gleichmäßigen Gitterpunkte + zufälligen Shift
      30. xx = x*neuron_abstand+randomshift()
      31. yy = y*neuron_abstand+randomshift()
      32. zz = z*neuron_abstand+randomshift()
      33. # Objekt erstellen
      34. obj = c4d.BaseObject(c4d.Osphere) # Kugel erstellen
      35. obj.SetRelPos(c4d.Vector(xx,yy,zz)) # Position setzen
      36. obj[c4d.PRIM_SPHERE_SUB] = 10
      37. obj[c4d.PRIM_SPHERE_TYPE] = 3
      38. obj[c4d.PRIM_SPHERE_RAD] = randint(100,200)
      39. res = utils.SendModelingCommand(command = c4d.MCOMMAND_CURRENTSTATETOOBJECT,
      40. list = [obj],
      41. mode = c4d.MODELINGCOMMANDMODE_ALL,
      42. bc = c4d.BaseContainer(),
      43. doc = doc)[0]
      44. maxpoly = res.GetPolygonCount();
      45. sel = res.GetPolygonS()
      46. for i in xrange(0,4):
      47. seller = randint(0,maxpoly-1)
      48. sel.Select(seller)
      49. res.InsertUnder(ParentObject)
      50. cont = c4d.BaseContainer()
      51. cont[c4d.MDATA_MATRIXEXTRUDE_MOVE] = c4d.Vector(0,0,2000)
      52. cont[c4d.MDATA_MATRIXEXTRUDE_SCALE]=c4d.Vector(0.5,0.5,0.5);
      53. cont[c4d.MDATA_MATRIXEXTRUDE_ROTATE]=c4d.Vector(0.175,0.175,0.175);
      54. utils.SendModelingCommand(command = c4d.ID_MODELING_MATRIX_EXTRUDE_TOOL,list = [res],mode = c4d.MODIFY_POLYGONSELECTION,bc = cont,doc = doc)
      55. c4d.EventAdd() # C4d um Einfügen bitten
      56. # Position merken, um Verbindungslinien zu erstellen
      57. #


      Auch bezweifle ich, dass die Google-Server oder Anwendungen auf Python basieren. Die werden wohl auch wieder C oder node.js benutzen. Zumindestens aber eine Mischung aus vielen verschiedenen Sprachen. Die Liste beinhaltet wohl alle Programme, die im entferntestens auch irgend etwas mit Python zu tun haben ;)

      Eine erwähnenswerten Sache, die tatsächlich in Python geschrieben ist heißt "matplotlib" .
      Auch bei wissenschaftlichen Arbeiten findet man des öfterens Python (GAP als ComputerAlgebraSystem) als Skripsprache innerhalb von Anwendungen.
      Gesendet von meiner Schreibmaschine mittels Brieftaube.
      wieschoo.comBotSuite.NET

      Dieser Beitrag wurde bereits 2 mal editiert, zuletzt von „wieschoo“ ()

      Acanis schrieb:

      Hey,

      danke für die Einstieg :)!
      Warum ist deiner Meinung nach die Version 2.X die beste? O.o Was ist an den neueren denn schlechter?!


      LG
      Aca

      Acanis schrieb:

      Hey,

      danke für die Einstieg :)!
      Warum ist deiner Meinung nach die Version 2.X die beste? O.o Was ist an den neueren denn schlechter?!


      LG
      Aca
      Python 2.X wird daweil am meisten benutzt. Die meisten Tutorials sind für die Version und die meisten Python Programmierer verwenden immer noch die 2er Version.
      Auch gibt es in Python 2.X viele Bibliotheken die es in Python 3.X nicht gibt. Außerdem verwendet Google auch noch Python 2.

      Außerdem werden beide Versionen immer wieder aktualisiert. Zuletzt wurden 2.7.5 und 3.2.5 am 15. Mai veröffentlicht.


      @Wieschoo
      Das mit Blender änder ich dann sofort. Da habe ich wohl was überlesen. Danke! :)


      Most of the software stack that Google uses on their servers was developed in-house. It is believed that C++, Java, and Python are favored over other programming languages. For example, the back end of Gmail is written in Java and the back end of Google Search is written in C++.Google has acknowledged that Python has played an important role from the beginning, and that it continues to do so as the system grows and evolves.



      MfG,
      ThunderByte
      Hey,

      Super Einstieg! Hoffe ab jetzt kommt ein bisschen mehr Leben in die neue Sektion! :)
      Hast du vor, noch weitere Tutorials zu schreiben? Bzw. denkst du an eine kleine Tutorialreiche?
      Ich habe vor, mich demnöchst härter einzuarbeiten, da ich das ganze mit meinem zukünftigen Raspberry Pi auch gut verwenden kann.
      Da wäre das ja richtig gut..

      Mfg - Dodo 8o

      Dodovogel schrieb:

      Hey,

      Super Einstieg! Hoffe ab jetzt kommt ein bisschen mehr Leben in die neue Sektion! :)
      Hast du vor, noch weitere Tutorials zu schreiben? Bzw. denkst du an eine kleine Tutorialreiche?
      Ich habe vor, mich demnöchst härter einzuarbeiten, da ich das ganze mit meinem zukünftigen Raspberry Pi auch gut verwenden kann.
      Da wäre das ja richtig gut..

      Mfg - Dodo 8o


      Ob ich noch eins mache weiß ich leider nicht. Ich will eigentlich ein Tutorial über das entschlüsseln verschlüsselter Pakete schreiben, aber das kann noch dauern.
      Vielleicht nach diesen, aber dann länger und mit einer besseren Beschreibung als dieses hier.
      Im grossen ganzen gut beschrieben.
      Ich wollt nur Senf zu den ersten 3 Fragen geben :D

      Was ist Python?
      Python ist eine Objekt-Orientierte Interpretersprache. Das heißt, dass Python einen Intepreter zum ausführen der Scripte braucht.
      Es kann nicht wie C++ kompiliert werden.

      Quellcode

      1. python C:\Python27\pyinstaller\pyinstaller.py --onefile "F:\Projekte\Combat Arms Kickstarter\bypass.py"

      Eine einfache Shell-Zeile die mir aus meinem Sicherheitslahmlegenden-Combat-Arms-Bypass ein Standalone programm macht.
      Ausserdem macht der Interpreter auch sowas wie kompilieren. Richtiger OPCODE wird aber (noch) nicht von rohen Python programmen erstellt.
      Vielleicht arbeite ich mal daran.

      Eignet sich Python als meine erste Programmiersprache?
      Nein! Python setzt vorraus, dass der Programmierer weiß was er tut. Als erste Sprache eignet sich C und dann eine OOP Sprache wie Java oder C++.

      Meiner Meinung nach stellt man sich nur die Frage ob man will. Was, wann und wo bleibt der entscheidungsfreiheit überlassen (auch wenn man bedenken sollte dass es vielleicht schon eine sinnvolle reihenfolge fürs lernen gibt).
      Ich merke hier jedoch an dass ich meistens Google benutze wenn ich lerne. Ich google einfach spezifisch nach dem, was ich wissen will und google macht fast jeden schlau :D

      Wo kann ich Python überall verwenden?
      Python funktioniert auf Windows, Mac OS X, vielen Linuxpartitionen und Android.
      Vielmehr als Windoof, Mac und Linux kennen wir ja net, aber Python läuft echt überall.
      Der mit dem Raspberry is gut, hab mein neustes projekt aus einer viertelmillion zeichen auf 30 dateien in nen Raspberry geladen.
      Es waren nur 4 Windoof-spezifische zeilen zu entfernen und es lief schon reibungslos.
      Es is sogar ein Python Webserver eingebaut und das ganze System funktioniert auch dort bestens (mit nur ca 3W waren das glaub ich ^^).

      Unterm strich:
      Es ist wirklich eine äusserst angenehme Erfahrung mit Python zu entwickeln, ich kanns nur dringend empfehlen!


      Noch 2 Dinge:
      Der Combat Arms Kickstarter ist unreleased und überhaupt nichts offizielles ;)

      Und ich hab mich satt in Python eingearbeitet seit ich das letzte mal hier war, also bei fragen nur zu ;)

      Besonders wichtig ist hier jedoch dasselbe wie bei AutoIt:
      Python kommt schnell mal mit den dicksten und ausführlichsten Dokumentationen daher.
      Nutzt jene. Sie enthalten auch Tutorials, aber vergesst niemals auch einfach irgendwas auszuprobieren ;)

      Ich werd vllt ein Tutorial zu den Datentypen in Python machen, damit nichts durcheinander gerät ^^.
      Dies ist ein Arzeneimittel.
      Bei Risiken und Haluzinationen fressen sie die Packungsbeilage und schlagen Sie ihren Arzt oder Apotheker.
      Jede Haftung wird abgelent.

      Vielen Dank für Ihre Kundentreue.
      mfg. TimBlo

      Dieser Beitrag wurde bereits 3 mal editiert, zuletzt von „TimBlo“ ()