Python: Unterschied zwischen den Versionen

Aus Flinkwiki
Wechseln zu: Navigation, Suche
(Turtle)
(Screen-Methoden)
Zeile 191: Zeile 191:
 
hintergrund.bgpic("/home/pfad/Bilder/hintergrundbild.gif")
 
hintergrund.bgpic("/home/pfad/Bilder/hintergrundbild.gif")
 
</nowiki>
 
</nowiki>
 +
 +
----
 +
=== Eigenes Bild für die Turtle definieren ===
 +
 +
<nowiki>
 +
import turtle
 +
hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen
 +
hintergrund.addshape("ninja.gif") # Neue Form (shape) definieren
 +
ninja = turtle.Turtle()
 +
ninja.shape("/pfad/ninja.gif") 
  
 
----
 
----

Version vom 15. Mai 2019, 08:26 Uhr

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.

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)


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])


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

[1]



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()

[2]


Turtle


Methoden

  • hideturtle()
  • forward(x)
  • backward(x)
  • left(x)
  • right(x)
  • pensize(x)
  • pencolor(x,y) # Zeichenfarbe, Füllfarbe
  • penup(), up()
  • pendown(), down()
  • goto(x,y)
  • shape(x) # Vordefinierte Werte: arrow, turtle, circle, square, triangle, classic
  • speed(x) # 1 = langsam, 6 = normal, 10 = schnell

Screen-Methoden

Mit diesen Methoden wird der Hintergrund für Turtle definiert.

  • setup(x,y) # Stellt Breite und Höhe ein.
  • bgcolor(x) # Stellt die Hintergrundfarbe ein.
  • bgpic(x) # Definiert Hintergrundbild.


Beispiel:

import turtle  
ninja = turtle.Turtle()
hintergrund = turtle.Screen()
ninja.pensize(20)
ninja.shape("classic")
hintergrund.bgpic("/home/pfad/Bilder/hintergrundbild.gif")


Eigenes Bild für die Turtle definieren

import turtle
hintergrund = turtle.Screen() # Hintergrund-"Screen" aufrufen
hintergrund.addshape("ninja.gif") # Neue Form (shape) definieren
ninja = turtle.Turtle()
ninja.shape("/pfad/ninja.gif")  

----

=== 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>

----

The X11 Color Set:
*http://cng.seas.rochester.edu/CNG/docs/x11color.html

----

== 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')

[3]


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

[4]


Troubleshooting

Deutsche Sonderzeichen lassen sich in IDLE nicht abspeichern

Entweder an den Anfang des Skripts folgende Zeile setzen:

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

bzw.

# -*- coding: cp1252 -*-

[5]

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



| |