furas.pl
# prywatne notatki - Python, Linux, Machine Learning, etc.

Rysowanie w Turtle - Przykłady dostarczane z Pythonem

Moduł turtle zawiera kilka przykładów pokazującyh jego użycie. Część z przykładów nawet pokazuje kod źródłowy wykonywanych rysunków.

Podstawowy przykład

Podstawowy przykład można wywołać przez

$ python -m turtle

A oto co możemy zobaczyć

Rysunek 1

python turtle przykład 1

Rysunek 2

python turtle przykład 2

Nie jest jednak podany kod źródłowy, który wykonuje te rysunki.

Użycie __file__ pozwala poznać ścieżkę do pliku, który zawiera moduł turtle wraz kodem wykonującym powyższe rysunki.

import tkinter

print(turtle.__file__)
/usr/lib/python3.7/turtle.py

Można to też zrobić wprost z konsoli (i jest to przykład zastosowania ; w Pythonie)

$ python -c 'import turtle ; print(turtle.__file__)'

Jeśli ścieżka kończy się na .pyc (czyli wskazuje na plik z kodem bajtowym) to należy pominąć końcowe c aby dostać się do pliku z kodem w Pythonie.

W pliku zawarty jest kod całego modułu turtle i dopiero na jego końcu - po if __name__ == "__main__" - znajduje się kod rysujący powyższe rysunki.

Po otwarciu pliku można zobaczyć

# ... kod modułu tkinter ...

if __name__ == "__main__":

    # ...

    def demo1():
        """Demo of old turtle.py - module"""

        # ... kod rysujący pierwszy rysunek ...

    def demo2():
        """Demo of some new features."""

        # ... kod rysujący drugi rysunek ...

Kod ten można też zobaczyć sieci w pliku turtle.py na GitHub w oficjalnym repozytorium języka Python.

Przykłady z kodem źródłowym

turtle (a dokładniej turtledemo) dostarcza też przykłady wraz kodem źródłowym - i to z "przeglądarką", która pozwala widzieć kod i go uruchamiać. Nie pozwala jednak na uruchamianie z własnymi modyfikacjami.

Po uruchomieniu

$ python -m turtledemo

pojawia się okno i menu Examples wybieramy interesujący nas przykład.

python turtledemo demo" style="width:100%

Po wybraniu przykładu zobaczymy kod źródłowy po lewej stronie okna, a po wciśnięciu START zobaczymy go w działaniu po prawej stronie.

Przykład rossete

python turtledemo rosette" style="width:100%

Przykład forest

python turtledemo forest" style="width:100%

Przykłady można też uruchamiać bezpośrednio z linii komend ale już bez podglądu kodu.

Przykładowo forest uruchamiamy przez

$ python -m turtledemo.forest

i otrzymujemy

python turtledemo forest bez kodu

Każdy przykład jest w osobnym pliku a ścieżkę do niego można zdobyć z użyciem __file__

$ python -c 'import turtledemo.forest ; print(turtledemo.forest.__file__)'
/usr/lib/python3.7/turtledemo/forest.py

Taki plik (po skopiowaniu do własnego katalogu) możemy przerabiać i uruchamiać.

W oficjalnej dokumentacji turtle można zobaczyć listę przykładów z turtledemo wraz z informacją jakie możliwości turtle zostały w nich przedstawione. Przykładowo w paint pokazano jak używać przycisków myszy (lewy, prawy i środkowy) do rysowania odcinków, figur i to w różnych kolorach.

Książki: python-dla-kazdego-podstawy-programowania python-wprowadzenie python-leksykon-kieszonkowy python-receptury python-programuj-szybko-i-wydajnie python-projekty-do-wykorzystania black-hat-python-jezyk-python-dla-hackerow-i-pentesterow efektywny-python-59-sposobow-na-lepszy-kod tdd-w-praktyce-niezawodny-kod-w-jezyku-python aplikacje-internetowe-z-django-najlepsze-receptury