Python: Unterschied zwischen den Versionen
Hflink (Diskussion | Beiträge) (Die Seite wurde neu angelegt: „ssssss“) |
Flinh1 (Diskussion | Beiträge) |
||
| Zeile 1: | Zeile 1: | ||
| − | + | ||
| + | |||
| + | == Sortieren == | ||
| + | |||
| + | Funktion <code>sort()</code>: | ||
| + | ''liste.sort()'' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | === Bubblesort === | ||
| + | <nowiki> | ||
| + | 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]); | ||
| + | </nowiki> | ||
| + | Beispiel: <br>''bubblesort(liste,6)<br>print(liste)'' | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == Tkinter == | ||
| + | |||
| + | Tkinter ist die Python-Schnittstelle zu Tk. Tkint ist ein Akronym für "Tk interface". Tk wurde ursprünglich als eine GUI-Erweiterung für Tcl entwickelt. | ||
| + | * https://www.python-kurs.eu/python_tkinter.php | ||
| + | |||
| + | ---- | ||
| + | === Import === | ||
| + | |||
| + | Unter Python2 wird ''Tkinter'' großgeschrieben, unter Python3 kleingeschrieben: ''tkinter''. | ||
| + | |||
| + | Python2: <code>from Tkinter import *</code> | ||
| + | |||
| + | Python3: <code>from tkinter import *</code> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | === Widgets === | ||
| + | |||
| + | button | ||
| + | canvas | ||
| + | checkbutton | ||
| + | combobox | ||
| + | entry | ||
| + | frame | ||
| + | label | ||
| + | labelframe | ||
| + | listbox | ||
| + | menu | ||
| + | menubutton | ||
| + | message | ||
| + | notebook | ||
| + | tk_optionMenu | ||
| + | panedwindow | ||
| + | progressbar | ||
| + | radiobutton | ||
| + | scale | ||
| + | scrollbar | ||
| + | separator | ||
| + | sizegrip | ||
| + | spinbox | ||
| + | text | ||
| + | treeview | ||
| + | |||
| + | === Fenster === | ||
| + | |||
| + | tk_chooseColor - lässt ein Pop-up-Fenster erscheinen, dass es dem Benutzer ermöglicht eine Farbe aus einer Palette auszuwählen. | ||
| + | tk_chooseDirectory - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv ein Verzeichnis auszuwählen. | ||
| + | tk_dialog - ein Pop-up-Fenster in Form eines Dialogfenster | ||
| + | tk_getOpenFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Öffnen auszuwählen. | ||
| + | tk_getSaveFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Schreiben auszuwählen. | ||
| + | tk_messageBox - Pop-up-Fenster mit Message. | ||
| + | tk_popup - Pop-up-Fenster. | ||
| + | toplevel - erzeugt und verändert Widgets auf höchster Ebene. | ||
| + | |||
| + | === Geometrie-Manager === | ||
| + | |||
| + | place | ||
| + | grid | ||
| + | pack | ||
| + | [https://www.python-kurs.eu/python_tkinter.php] | ||
| + | |||
| + | |||
| + | ---- | ||
| + | === Beispiel Textbox === | ||
| + | |||
| + | <nowiki> | ||
| + | from tkinter import * | ||
| + | |||
| + | w1=Tk() | ||
| + | w1.geometry('100x100') | ||
| + | w1.config(bg='#f00') | ||
| + | w1.title('red windows') | ||
| + | |||
| + | w2=Tk() | ||
| + | w2.geometry('300x300') | ||
| + | w2.config(bg='grey') | ||
| + | w2.title('grey windows') | ||
| + | |||
| + | t1 = Label(w1, text='text in red window', fg='yellow', bg = 'grey') | ||
| + | t1.config(font = ('Times', 25)) | ||
| + | t1.pack() | ||
| + | |||
| + | w1.mainloop() | ||
| + | w2.mainloop() | ||
| + | </nowiki> | ||
| + | [https://www.youtube.com/watch?v=vtsS2aQ4LLw] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == Turtle == | ||
| + | |||
| + | * https://docs.python.org/2/library/turtle.html | ||
| + | |||
| + | |||
| + | === Farben === | ||
| + | |||
| + | turtle.color(rot,grün,blau) | ||
| + | |||
| + | * Rot <code>(1,0,0)</code> | ||
| + | * Grün <code>(0,1,0)</code> | ||
| + | * Blau <code>(0,0,1)</code> | ||
| + | * Gelb <code>(1,1,0)</code> | ||
| + | * Cyan <code>(0,1,1)</code> | ||
| + | * Schwarz <code>(0,0,0)</code> | ||
| + | * Weiß <code>(1,1,1)</code> | ||
| + | * Gold <code>(0.9,0.75,0)</code> | ||
| + | * Hellrosa <code>(1,0.7,0.75)</code> | ||
| + | * Orange <code>(1,0.5,0)</code> | ||
| + | * Orange <code>(0.9,0.5,0.15)</code> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == pyperclip == | ||
| + | |||
| + | Installation: | ||
| + | |||
| + | <code>apt-get install python-pyperclip</code> | ||
| + | |||
| + | Das Modul pyperclip lässt sich aber erst laden nach | ||
| + | |||
| + | <code>sudo pip3 install pyperclip</code> | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == pygame == | ||
| + | |||
| + | === Installation === | ||
| + | Installation in Ubuntu: | ||
| + | pip3 install pygame | ||
| + | <!-- apt-get install python-pygame--> | ||
| + | [https://stackoverflow.com/questions/42961294/no-module-named-pygame] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | === Zeichnen === | ||
| + | |||
| + | Beispiel Regenbogenflagge: | ||
| + | <nowiki> | ||
| + | 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') | ||
| + | </nowiki> | ||
| + | [http://python3.codes/rainbow-flag-in-pygame/] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == pyinstaller == | ||
| + | |||
| + | Installation: | ||
| + | apt install python-pip | ||
| + | pip install pyinstaller | ||
| + | |||
| + | <code>pyinstaller -F</code> erzeugt ein Stand Alone Executable. Dieses liegt dann im Verzeichnis ''dist''. | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == Typographie == | ||
| + | |||
| + | Sonderzeichen Herz = <code>u'\u2764'</code> | ||
| + | |||
| + | ---- | ||
| + | == Formatierung == | ||
| + | |||
| + | Formatierung von float-Zahlen ("Gleitkommazahlen") auf 2 Nachkommastellen: <code>'%.2f' % </code> | ||
| + | kapital = 22092.442508224092 | ||
| + | print('%.2f' % kapital) | ||
| + | >>> 22092.44 | ||
| + | [https://www.gutefrage.net/frage/float-nur-mit-2-nachkommastellen-ausgeben] | ||
| + | |||
| + | ---- | ||
| + | |||
| + | == Troubleshooting == | ||
| + | |||
| + | === Deutsche Sonderzeichen lassen sich in IDLE nicht abspeichern === | ||
| + | |||
| + | Entweder an den Anfang des Skripts folgende Zeile setzen: | ||
| + | # -*- coding: utf-8 -*- | ||
| + | bzw. | ||
| + | # -*- coding: cp1252 -*- | ||
| + | [https://docs.python.org/2.4/lib/standard-encodings.html] | ||
| + | |||
| + | 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 == | ||
| + | |||
| + | * https://wiki.python.org/moin/ | ||
| + | |||
| + | * https://python-kurs.eu | ||
| + | |||
| + | * http://docs.python.org/2.7/tutorial | ||
| + | |||
| + | * http://pythontutor.com/ | ||
| + | |||
| + | |||
| + | ---- | ||
| + | |||
| + | [[Kategorie: Alle]] | [[Kategorie: Programmierung]] | ||
Version vom 26. Oktober 2018, 09:41 Uhr
Inhaltsverzeichnis
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)
Tkinter
Tkinter ist die Python-Schnittstelle zu Tk. Tkint ist ein Akronym für "Tk interface". Tk wurde ursprünglich als eine GUI-Erweiterung für Tcl entwickelt.
Import
Unter Python2 wird Tkinter großgeschrieben, unter Python3 kleingeschrieben: tkinter.
Python2: from Tkinter import *
Python3: from tkinter import *
Widgets
button canvas checkbutton combobox entry frame label labelframe listbox menu menubutton message notebook tk_optionMenu panedwindow progressbar radiobutton scale scrollbar separator sizegrip spinbox text treeview
Fenster
tk_chooseColor - lässt ein Pop-up-Fenster erscheinen, dass es dem Benutzer ermöglicht eine Farbe aus einer Palette auszuwählen. tk_chooseDirectory - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv ein Verzeichnis auszuwählen. tk_dialog - ein Pop-up-Fenster in Form eines Dialogfenster tk_getOpenFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Öffnen auszuwählen. tk_getSaveFile - Pop-up-Fenster, dass einem Benutzer erlaubt interaktiv eine Datei zum Schreiben auszuwählen. tk_messageBox - Pop-up-Fenster mit Message. tk_popup - Pop-up-Fenster. toplevel - erzeugt und verändert Widgets auf höchster Ebene.
Geometrie-Manager
place grid pack
Beispiel Textbox
from tkinter import *
w1=Tk()
w1.geometry('100x100')
w1.config(bg='#f00')
w1.title('red windows')
w2=Tk()
w2.geometry('300x300')
w2.config(bg='grey')
w2.title('grey windows')
t1 = Label(w1, text='text in red window', fg='yellow', bg = 'grey')
t1.config(font = ('Times', 25))
t1.pack()
w1.mainloop()
w2.mainloop()
Turtle
Farben
turtle.color(rot,grün,blau)
- Rot
(1,0,0) - Grün
(0,1,0) - Blau
(0,0,1) - Gelb
(1,1,0) - Cyan
(0,1,1) - Schwarz
(0,0,0) - Weiß
(1,1,1) - Gold
(0.9,0.75,0) - Hellrosa
(1,0.7,0.75) - Orange
(1,0.5,0) - Orange
(0.9,0.5,0.15)
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:
pip3 install pygame
Zeichnen
Beispiel Regenbogenflagge:
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
|