.
Python ist eine plattformunabhängige, interpretierte und objektorientierte Programmiersprache. Sie wurde Anfang der 90er Jahre von Guido van Rossum am Centrum voor Wiskunde en Informatica in Amsterdam entwickelt.
Den Namen erhielt die Sprache nach der englischen Comedy-Truppe Monty Python.
Python ist eine Sprache, die den Programmierer nicht zu einem einzigen bestimmten Programmierstil zwingt. Unterstützt werden sowohl objektorientierte und strukturierte als auch funktionale Programmierung.
Die Datentypen werden dynamisch verwaltet; eine statische Typprüfung (wie z.B. bei C++) gibt es also nicht. Die Verwaltung frei gewordenen Speicherplatzes erfolgt automatisch (Garbage collection).
Obwohl bei der Werbung für Python oft die Gegenüberstellung zu Perl benutzt wurde, gibt es zwischen beiden Sprachen viele Gemeinsamkeiten.
Während Perl eine reichhaltige und oft als verwirrend empfundene Syntax besitzt, wurde bei der Entwicklung von Python besonders darauf geachtet, die Syntax möglichst einfach und damit besser les- und wartbar zu gestalten.
Obwohl Python (ebenso wie Perl) manchmal als "Skriptsprache" bezeichnet wird, sind damit schon eine Reihe großer Softwareprojekte bewältigt worden, z.B. der Zope Application Server und das Dateisystem Mojo Nation.
Python ist eine universelle, üblicherweise interpretierte höhere Programmiersprache. Ihre Entwurfsphilosophie betont Programmlesbarkeit. Ihr Gebrauch von Einrückung zur Blockbegrenzung ist ungewöhnlich unter populären Programmiersprachen.
Die Sprache hat ein offenes, gemeinschaftsbasiertes Entwicklungsmodell, gestützt durch die gemeinnützige Python Software Foundation, die de facto die Definition der Sprache in CPython, der Referenzumsetzung pflegt.
Python wurde mit dem Ziel entworfen, möglichst einfach und übersichtlich zu sein. Dies soll durch zwei Maßnahmen erreicht werden: Zum einen kommt die Sprache mit relativ wenigen Schlüsselwörtern aus, zum anderen ist die Syntax reduziert und auf Übersichtlichkeit optimiert. Objektorientierte und strukturierte Programmierung werden vollständig unterstützt.
Python macht dem Programmierer sehr genaue Vorgaben, wie er seinen Quellcode zu strukturieren hat. Obwohl erfahrene Programmierer darin eine Einschränkung sehen mögen, kommt diese Eigenschaft gerade Programmierneulingen zugute, denn unstrukturierter und unübersichtlicher Code ist eine der größten Fehlerquellen in der Programmierung.
Die Sprache wurde Anfang der 1990er Jahre von Guido van Rossum am Centrum Wiskunde & Informatica in Amsterdam als Nachfolger für die Programmier-Lehrsprache ABC entwickelt und war ursprünglich für das verteilte Betriebssystem Amoeba gedacht. Alle bisherigen Implementierungen der Sprache (siehe auch Jython oder Stackless Python) übersetzen den Text eines Python-Programms transparent in einen Zwischencode, der dann von einem Interpreter ausgeführt wird.
Der Name geht nicht etwa (wie das Logo vermuten ließe) auf die gleichnamige Schlangengattung (Python) zurück, sondern bezog sich ursprünglich auf die englische Komikertruppe Monty Python. In der Dokumentation finden sich daher auch einige Anspielungen auf Sketche aus dem Flying Circus.Trotzdem etablierte sich die Assoziation zur Schlange, was sich unter anderem in der Programmiersprache Cobra sowie dem Python-Toolkit „Boa“ äußert.
Python wird erfolgreich in tausenden Applikationen verwendet. Es wird unter anderem von großen Firmen wie YouTube.com oder google.com verwendet.
YouTube ist ein 2005 gegründetes Internet-Videoportal mit Sitz in San Bruno, Kalifornien, auf dem die Benutzer kostenlos Video-Clips ansehen und hochladen können. Die Benutzeroberfläche von YouTube.com ist fast gänzlich in python geschrieben, MySQL wird zur verwaltung der datenbank verwendet.
Die Google Incorporated ist ein Unternehmen mit Hauptsitz in Mountain View (Kalifornien, USA), das durch Internetdienstleistungen – insbesondere durch die gleichnamige Suchmaschine „Google“ – bekannt wurde. Die Benutzeroberfläche von Google ist ebenfalls teilweise mit Python geschrieben.
OpenShot Video Editor ist ein freier Video-Editor für Linux-Betriebssysteme. Er ist in Python programmiert und hat eine GTK+-basierte Benutzoberfläche und nutzt das Framework des Media Lovin’ Toolkit (MLT). Er wird als freie Software auch im Quelltext unter den Bedingungen der GNU General Public License (GPL) in Version 3 oder später verbreitet. Das Projekt wurde im August 2008 von Jonathan Thomas gestartet mit dem Ziel, einen stabilen, freien und einfach zu bedienenden Video-Editor zu erstellen.
from random import randrange def spiel(): a = randrange(1,7) b = randrange(1,7) print a, b, if a == b: print "Bingo!" print 10 * "*", else: print " - leider nicht!"
Mit Turtle-Grafik, wird eine Bildbeschreibungssprache bezeichnet, bei der man sich vorstellt, dass ein stifttragender Roboter (die "turtle") sich auf der Zeichenebene bewegt und mit einfachen Kommandos, wie Stift heben, senken, vorwärts laufen und drehen, gesteuert werden kann. Der Vorteil der Turtle-Grafik ist, dass die Programme grafische Ergebnisse liefern und deshalb für die Schüler meist interessanter sind, als einfache Textausgaben. Außerdem sind die Programme leicht nachvollziehbar.
from turtle import * def dreieck(seite): for s in range(3): for t in range(6): pd() forward(seite/12) pu() forward(seite/12) left(120) width(7) color("red") dreieck(150) x=raw_input()
from turtle import * def o_circle(r): #pd() circle(r,90) circle(r,180) circle(r,90) def o_letter(h): a=h*0.2 r=h/2 pu() fd(r) fillcolor("white") begin_fill() o_circle(r) end_fill() pu() goto(xcor(),ycor()+a) fillcolor("red") begin_fill() o_circle(r-a) end_fill() pu() goto(xcor()+r,ycor()-a) def r_letter(h): cor=pos() [x,y]=cor a=h*0.2 lt(90) #pd() fillcolor("white") begin_fill() fd(h) rt(90) fd(a+h/4) circle(-h/3,150) pu() circle(-h/3,30) cor1=pos() [x1,y1]=cor1 circle(-h/3,-30) #pd() seth(180) goto(x+h*0.8,y) fd(a) goto(x1,y1) fd(h/4) lt(90) fd(h/3) lt(90) bk(a) end_fill() pu() goto(x,y+h-a) fd(a) #pd() fillcolor("red") begin_fill() fd(h/4) circle(-h/3+a,180) fd(h/4) goto(xcor(),y+h-a) end_fill() pu() goto(x+h,y) seth(0) def square(h,b): for i in range(2): fd(b) lt(90) fd(h) lt(90) def f_letter(h): a=h*0.2 fillcolor("white") begin_fill() square(h, a) cor=pos() [x,y]=cor goto(x,y+h-a) square(a,h-a) goto(x,y+h/3) square(a,3*a) end_fill() speed(6) tracer(0) pu() fillcolor("red") begin_fill() goto(-350,-100) square(500,1090) end_fill() pu() goto(-250,0) #bk(500) o_letter(300) fd(50) r_letter(300) f_letter(300) ht() tracer(1) exitonclick()
http://sbox.bgweiz.at/thomas.lechner/10-11/matura/orf-logo.png
from turtle import * import time def main(): reset() shape("circle") resizemode("user") turtlesize(10,15,1) color("", "red") stamp() turtlesize(9.5,9.5,1) color("", "white") stamp() turtlesize(7,9,1) color("", "red") stamp() turtlesize(6.5,6.5,1) color("", "white") stamp() main() exitonclick()
from math import * global a, b a = [3] b = [2*sqrt(3)] i=0 while b[i]-a[i] > 0.0000000000000001: b_n = (2*a[i]*b[i])/(a[i] + b[i]) b.append(b_n) a_n = sqrt(a[i]*b[i+1]) a.append(a_n) i=i+1 print(i) print(a[i]) print(b[i]) print(3.141592653589793)
from turtle import * def c_part(color, radius, length): rad=[radius, -(radius+length)] fillcolor(color) begin_fill() for i in range(2): circle(rad[i],120) rt(90) fd(length) rt(90) end_fill() circle(radius,120) r=100 l=90 colour=[(255,99,9),(255,181,21),(201,0,22)] color("white") colormode(255) pensize(25) circle(r, 90) for i in range(3): c_part(colour[i], r, l) pu() pensize(15) lt(90) fd(2*r+l*0.60) rt(90) pd() for i in range(3): fillcolor((colour[i])) begin_fill() circle(l/2) end_fill() pu() circle(-r-l*0.60,-120) pd() ht()
from turtle import * from time import * alex = [Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle()] c = ["green"]*15 bert = [Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle(),Turtle()] water = Turtle() tracer(0) water.color("blue") water.pu() water.goto(-30*15,-100) water.pd() screen = Screen() screen.register_shape("duck.gif") ht() pu() w=15 l=30 r=25 s=30 for i in range(15): #alex[i].ht() alex[i].penup() alex[i].color(c[i]) alex[i].fd(l*i) for i in range(15): #bert[14-i].ht() bert[14-i].penup() bert[14-i].color(c[i]) bert[14-i].bk(l+l*i) for i in range(15): bert[i].circle(r,(-w*i)%360) for i in range(15): alex[i].circle(r,(-w*(i+15))%360) duck = Turtle(shape="duck.gif") duck.pu() for i in range(250): water.clear() duck.goto(alex[0].xcor(),alex[0].ycor()+r*4) water.begin_fill() for i in range(15): bert[i].circle(r,5) water.goto(bert[i].xcor(),bert[i].ycor()) for i in range(15): alex[i].circle(r,5) water.goto(alex[i].xcor(),alex[i].ycor()) water.goto(30*15,-100) water.goto(-30*15,-100) water.end_fill() tracer(1) fd(s) tracer(0) speed(0) exitonclick()
from turtle import * from math import * r=500 w=40 ht() pos1 = [] color("blue") tracer(0) begin_fill() for i in range(4): pos1.append(pos()) seth(-(w/2)+90*i) circle(r,w) print(pos1) end_fill() #tracer(1) list = [(0.3,1), (0.7,-1)] pu();color("white");pensize(5) for i in range(2): pu();goto(pos1[3]*list[i][0]);seth(-w*list[i][1]/2);pd() circle(r*list[i][1],w*2) circle(r*list[i][1],w*-3) for i in range(2): pu();goto(pos1[1]*list[i][0]);seth(270+w*list[i][1]/2);pd() circle(r*list[i][1],-w*2) circle(r*list[i][1],-w*-3) pu();goto(0,0) exitonclick()
from turtle import * from math import * r=100 r2=30 tracer(0) ht() begin_fill();circle(r);end_fill() pu() goto(0,r*1.9) for i in range(5): if i == 0: color("orange") else: color("white") pd() begin_fill() circle(-r2) end_fill() pu() circle(-r*0.9,360/5) exitonclick()
from turtle import * from math import * r=100 w=20 l=200 def part(): for i in range(2): fd(w) rt(45) fd(l) rt(90+45) def sign(): color("orange") begin_fill() circle(r) end_fill() pu() goto(-2.5*w,r) pd() for i in range(3): pd() color("white") begin_fill() part() end_fill() pu() fd(w*2) pu() goto(r,r) seth(-90) circle(-r,-270) def kreis(name): reset() begin_poly() sign() end_poly() kreis_form = get_poly() screen.register_shape(name, kreis_form) tracer(0) screen = Screen() kreis("kreis") kreis1 = Turtle(shape="kreis") kreis1.lt(90) kreis1.color("orange") kreis1.stamp() kreis1.clear() color("orange") pensize(w) pd();circle(-r) tracer(1) exitonclick()
# -*- coding: utf-8 -*- # Autor: Thomas Lechner from turtle import * from datetime import datetime screen = Screen() screen.setup(800, 400) screen.clear() screen.register_shape("car_1.gif") global cars, traffic cars = [] traffic = True def street(length, width): global t tracer(False) a=8 s = Turtle() s.ht() s.pensize(8) s.pu();s.goto(-length/2,-width/2);s.pd() s.fd(length) s.pu();s.goto(s.xcor(),s.ycor()+width/2);s.pd() for i in range(a): s.bk(length/(2*a)-4) s.pu() s.bk(length/(2*a)+4) s.pd() s.pu();s.goto(s.xcor(),s.ycor()+width/2);s.pd() s.fd(length) t = Turtle(shape="circle") t.pu() t.goto(-250,120) tracer(True) def car_start(): tracer(False) car_start = Turtle(shape="car_1.gif") car_start.pu() car_start.goto(500,50) tracer(True) return car_start def car(x,y): c = car_start().clone() cars.append(c) print(cars) def space_check(car): global space dis = [] a = 0 for i in cars: if car != i and car.xcor() > i.xcor(): dis.append(car.distance(i.xcor(),i.ycor())) print(dis) for i in dis: if i < 200: a = a+1 if a != 0: space=False print(space) else: space=True return space def trafficlight(x,y): global traffic if traffic != True: traffic=True t.color("green") else: traffic=False t.color("red") def move(i): space_check(i) print(space) if cars.index(i) == 0: i.bk(2) elif space == True: i.bk(2) def tick(): screen.tracer(False) for i in cars: if traffic == True: move(i) elif i.xcor() < -200 or i.xcor() > -180: move(i) if i.xcor() < -500: i.ht() cars.remove(i) screen.tracer(True) screen.ontimer(tick, 2) street(800,200) if __name__ == "__main__": listen() onscreenclick(car, 1) onscreenclick(trafficlight,3) tick() mainloop()