Python

Aus Flinkwiki
Wechseln zu: Navigation, Suche
Seitenübersicht
Zur Seite "Python: Turtle"
Zur Seite "Python: Tkinter"

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


pygame

Installation

Allgemeines

Einführung:


Installation in Ubuntu

In der Shell folgendes ausführen:

python3 -m pip install -U pygame --user

Testen mit

python3 -m pygame.examples.aliens

Installation in Windows

cmd mit Admin-Rechten starten. Dann installieren mit

py -m pip install -U pygame --user

Testen mit

py -m pygame.examples.aliens


Zeichnen

Beispiel Regenbogenflagge (Python 2.xxx):

import pygame
cols = ['#ff0000','#ff8000','#ffff00','#008000','#0000ff','#a000c0']
 
w, h = 1000, 618                    # width, height
y = h/6                             # width per stripe
 
d = pygame.display.set_mode((w,h))
for i, c in enumerate(cols):
    d.fill(pygame.Color(c),rect=(0,i*y,w,y*(i+1)))
 
pygame.display.flip()
pygame.image.save(d,'RainbowFlag.png')

[4]


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

[5]


Troubleshooting

Deutsche Sonderzeichen lassen sich in IDLE nicht abspeichern

Entweder an den Anfang des Skripts folgende Zeile setzen:

# -*- coding: utf-8 -*-

bzw.

# -*- coding: cp1252 -*-

[6]

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



| |