Python: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→pygame) |
Flinh1 (Diskussion | Beiträge) |
||
Zeile 2: | Zeile 2: | ||
<div align="right">'''[[Python: Turtle|Zur Seite "Python: Turtle"]]'''</div> | <div align="right">'''[[Python: Turtle|Zur Seite "Python: Turtle"]]'''</div> | ||
<div align="right">'''[[Python: Tkinter|Zur Seite "Python: Tkinter"]]'''</div> | <div align="right">'''[[Python: Tkinter|Zur Seite "Python: Tkinter"]]'''</div> | ||
+ | <div align="right">'''[[Python: pygame|Zur Seite "Python: pygame"]]'''</div> | ||
== Allgemeines == | == Allgemeines == | ||
Version vom 30. Mai 2019, 06:18 Uhr
Inhaltsverzeichnis
Allgemeines
Die Sprache wurde Anfang der 1990er Jahre von Guido van Rossum am Centrum Wiskunde & Informatica in Amsterdam entwickelt.
shebang
Bei Ausführung auf der Shell/Kommandozeile verweist ein "shebang" am Anfang des Skripts auf die Datei, die das Skript ausführen soll. In Linux (Ubuntu) ist dies z. B.
#! /usr/bin/python3
Gegebenenfalls muss das Skript vorher aufführbar gemacht werden:
chmod 0755 script.py
IDLE
IDLE ist die IDE des Python-Projekts.
IDLE personalisieren
> Options, Configure IDLE
Verhalten bei F5
Die Aufforderung zu speichern bei der Ausführung einer noch nicht gesicherten Datei abschalten:
- Reiter General, At Start of Run (F5) > No Prompt
History in der IDLE-Shell aktivieren
- Reiter Keys > history-next > Get New Keys for Selection, 'Up Arrow und Down Arrow auswählen und speichern.
Funktionen
Funktionsadresse in Variablen speichern
Die Speicheradresse einer Funktion kann man einer Variablen zuweisen.
def zaehleBis10(): zahl = 1 while zahl <= 10: print(zahl) zahl += 1 neueFunktion = zaehleBis10 neueFunktion()
String
Ein String, oder Zeichenkette, kann man als eine Sequenz von einzelnen Zeichen sehen.[1]
Auslesen von Zeichen aus der Kette
Über die Indexnummern der Zeichenkette kann man einzelne Zeichen ausgeben lassen:
>>> meinString = "Zeichenkette" >>> print(meinString[0]) Z
Man kann die Indexnummern auch rückläufig verwenden, dann ist [-1] das letzte Zeichen der Kette:
>>> meinString = "Zeichenkette" >>> print(meinString[-2:]) te
>>> print(meinString[:-2]) Zeichenket
Länge des Strings
Die Funktion len gibt die Länge des Strings (Anzahl der Zeichen) zurück:
>>> meinString = "Zeichenkette" >>> len(meinString) 12
>>> len("aha") 3
upper case und lower case
Strings können in Groß- bzw. Kleinbuchstaben umgewandelt werden:
>>> string1 = "hallo" >>> string1 = string1.upper() >>> print(string1) HALLO
>>> string2 = "GUTEN TAG" >>> string2 = string2.lower() >>> print(string2) guten tag
Teilstrings ersetzen mit replace
>>> meinString = "Mein neues Programm" >>> meinString = meinString.replace("neues", "schönes") >>> print (meinString) Mein schönes Programm
Zahlen
Es gibt Ganzzahlen (int), Fließkommazahlen (float) und komplexe Zahlen (complex).
Funktion abs()
abs() liefert den absoluten Wert einer Zahl.
>>> x = -3.25 >>> y = abs(x) >>> print(y) 3.25
Funktion pow()
Diese Funktion berechnet die Potenz x hoch y:
>>> x = 3 >>> y = 4 >>> z = pow(x,y) >>> print(z) 81
Funktion round()
Diese Funktion rundet Dezimalzahlen auf bzw. ab:
>>> round(5.96734959002,2) 5.97
Die Zahl nach dem Komma bezeichnet die Anzahl der "Nachkommastellen")
Modul math
Für die Verwendung der math-Funktionen (ceil, floor, sqrt etc.) muss zuerst das Modul math importiert werden:
import math
bzw.
from math import *
Sortieren
Funktion sort()
:
liste.sort()
Bubblesort
def bubblesort(x, Index) : for i in range(Index) : for j in range(Index-i-1) : if x[j] > x[j+1] : x[j], x[j+1] = exchange(x[j], x[j+1]);
Beispiel:
bubblesort(liste,6)
print(liste)
Listen
Die Liste (list) ist ein sequentieller Datentyp. Was Python eine Liste nennt, würde in den meisten anderen Programmiersprachen als Array bezeichnet werden.[2]
extend()
Mit extend() hängt man eine bestehende Liste an eine andere bestehende Liste an:
# language list language = ['French', 'English', 'German'] # another list of language language1 = ['Spanish', 'Portuguese'] language.extend(language1) # Extended List print('Language List: ', language) [3]
Alternativ:
language = language + language1
append()
Mit append() hängt man an eine Liste an ein weiteres Element an:
language = ['French', 'English', 'German'] language.append("Italian")
insert()
insert() fügt mit Hilfe der Indexnummer ein weiteres Element in die Liste ein:
language = ['French', 'English', 'German'] language.insert(1,"Dutch")
Weitere häufig verwendete Listen
- remove(x) entfernt das Element x aus der Liste.
- clear() leert die ganze Liste.
- pop() entfernt das letzte Element aus der Liste.
- index(x) sucht das Element x und gibt seine Indexnummer aus
- count(x) zählt, wie oft das Element x in der Liste vorkommt.
- sort() sortiert die Listenelemente.
- reverse() kehrt die Reihenfolge um.
- copy() erstellt einen Klon der Liste: list2 = list1.copy()
Tuple
Tuples können so wie Listen über Indexnummern abgerufen werden. Allerdings sind Tuples unveränderlich.
>>> koordinaten = (2,3,4) >>> print (koordinaten[0]) 2
Listen von Tuples:
>>> tupleListe = [koordinaten, (55,89), (23,9)] >>> tupleListe[0] (2, 3, 4) >>> tupleListe[0][1] 3
datetime
Ausgabe der Indexnummer für den aktuellen Wochentag:
import datetime tage = ["Montag", "Dienstag", "Mittwoch", "Donnerstag", "Freitag", "Samstag", "Sonntag"] wochentag = datetime.datetime.today().weekday() print ("Heute ist",tage[wochentag])
pyperclip
Installation:
apt-get install python-pyperclip
Das Modul pyperclip lässt sich aber erst laden nach
sudo pip3 install pyperclip
pyinstaller
Installation:
apt install python-pip pip install pyinstaller
pyinstaller -F
erzeugt ein Stand Alone Executable. Dieses liegt dann im Verzeichnis dist.
Typographie
Sonderzeichen Herz = u'\u2764'
Formatierung
Formatierung von float-Zahlen ("Gleitkommazahlen") auf 2 Nachkommastellen: '%.2f' %
kapital = 22092.442508224092 print('%.2f' % kapital) >>> 22092.44
Troubleshooting
Deutsche Sonderzeichen lassen sich in IDLE nicht abspeichern
Entweder an den Anfang des Skripts folgende Zeile setzen:
# -*- coding: utf-8 -*-
bzw.
# -*- coding: cp1252 -*-
oder in IDLE (Shell-Menü) folgende Einstellung vornehmen: Options > Configure IDLE > General > Default Source Encoding > UTF-8
Code liegt in Python 2 vor
>> Umwandlung mit dem Skript 2to3.py. Das Skript liegt im Verzeichnis von Python 2.
Man kann sich 2to3.py natürlich auch in das lokale Verzeichnis legen. Umwandlung mit
python -w 2to3.py py2Datei.py
Links und Quellen
Youtube
| |