Python: Unterschied zwischen den Versionen
Flinh1 (Diskussion | Beiträge) (→Allgemeines) |
Flinh1 (Diskussion | Beiträge) (→Sortieren) |
||
Zeile 137: | Zeile 137: | ||
</nowiki> | </nowiki> | ||
Beispiel: <br>''bubblesort(liste,6)<br>print(liste)'' | Beispiel: <br>''bubblesort(liste,6)<br>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.[https://cscircles.cemc.uwaterloo.ca/13-de/] | ||
+ | |||
+ | === extend() === | ||
+ | Mit ''extend()'' hängt man eine bestehende Liste an eine andere bestehende Liste an: | ||
+ | <nowiki> | ||
+ | # language list | ||
+ | language = ['French', 'English', 'German'] | ||
+ | |||
+ | # another list of language | ||
+ | language1 = ['Spanish', 'Portuguese'] | ||
+ | |||
+ | language.extend(language1) | ||
+ | |||
+ | # Extended List | ||
+ | print('Language List: ', language) | ||
+ | </nowiki>[https://www.programiz.com/python-programming/methods/list/extend] | ||
+ | |||
+ | ---- | ||
---- | ---- |
Version vom 28. Mai 2019, 11:37 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.
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]
datetime
Ausgebe 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
Installation in Ubuntu:
Einführung:
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')
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
| |