Zadania

OBOWIĄZKOWE DO PRZESŁANIA: Zrzut ekranu pokazujący sesję interaktywną Pythona i jego wersję, oraz wybrany edytor tekstu z kodem skryptu z zadania 1.5.

ZADANIE 1.1 (STRONA DOMOWA PYTHONA)

Zapoznać się z zawartością strony domowej języka Python. Odnaleźć dokumentację kolejnych wydań Pythona, pakiety instalacyjne Pythona dla Linuksa i Windows.

Odnaleźć Python Enhancement Proposals (PEPs).

Przeczytać esej Why Python? (Eric S. Raymond).

ZADANIE 1.2 (PYTHON I DEBIAN LINUX)

Na stronie Linuksa Debian znaleźć listę pakietów związanych z językiem Python (dystrybucja stabilna).

https://packages.debian.org/stable/python/

Pakiet python jest zależny od domyślnej wersji Pythona w Debianie (Debian 10 - Py2.7, Debian 11 - Py3.9, Debian 12 - Py3.11).

Sprawdzić wersję Pythona zainstalowaną we własnym systemie operacyjnym. W razie potrzeby zainstalować najnowszą wersję Pythona.

ZADANIE 1.3 (KALKULATOR)

Wykorzystać interpreter Pythona jako podręczny kalkulator. Zwrócić uwagę na zmianę postaci znaku zachęty przy poleceniach wielowierszowych.


$ python                      # uruchamiamy Pythona interaktywnie
>>> 23 + 34                   # komentarz jest ignorowany
57
>>> _ + 12                    # znak _ (podkreślenie) to ostatni wynik
69                            # (należy tą zmienną traktować jako read-only)
>>> a = 2 ; b = 5             # średnik separuje dwa polecenia
# Znak równości (=) przypisuje wartość do zmiennej.
# Wynik podstawienia nie jest wypisywany.
>>> a * b
10
>>> 1 + 2 + \                 # w razie potrzeby można wiersz złamać
... 4 - 3                     # i kontynuować w następnej (użyty backslash)
4
>>> (10 + 12 +              # otwarty nawias "(" lub "[" lub "{" pozwala
... 13)                     # również kontynuować w następnym wierszu
35
>>> quit()                 # koniec pracy z Pythonem interaktywnie
$

Korzystanie ze znaku backslash (\) do łamania wiersza jest odradzane, ponieważ łatwo go przeoczyć czytając kod, co może spowodować jego złe rozumienie.

Zwyczajowo każde polecenie umieszczamy w osobnym wierszu.

W sesji interaktywnej nie ma potrzeby stosowania wyrażenia print [funkcji print() w Pythonie 3], ponieważ wyniki wyrażeń są automatycznie wyświetlane przez interpreter.

Należy zwracać uwagę na zmianę znaku zachęty w instrukcjach złożonych. W interfejsie IDLE kolejne wiersze instrukcji złożonych są automatycznie wcinane.

Instrukcje złożone w sesji interaktywnej kończy się pustym wierszem.

ZADANIE 1.4 (MATEMATYKA)

Zapoznać się z funkcjami matematycznymi Pythona.


$ python                      # uruchamiamy Pythona interaktywnie
>>> import math      # wczytanie modułu matematycznego
>>> help(math)       # wyjście z pomocy przez [q]
>>> help(math.sin)
>>> math.pi
3.1415926535897931
>>> math.sqrt(2) / 2.0 
0.70710678118654757
>>> [Ctrl]+[d]       # lub quit()
$

Sprawdzić różne systemy pomocy.

ZADANIE 1.5 (SKRYPTY)

W katalogu python utworzyć plik hello.py postaci:


#!/usr/bin/env python
# coding=utf-8
#
# hello.py
#
# Pierwszy program w Pythonie.
# W pierwszym wierszu mamy ścieżkę dostępu do interpretera.
# W drugim wierszu informacja o kodowaniu znaków w pliku.
# W Pythonie 3 domyślnie ustawione jest kodowanie UTF-8.
# Dzięki temu można w pliku stosować polskie znaki w napisach.
# Po znaku '#' mamy komentarz do końca wiersza.

print("Hello, world!")   # działa dla Pythona 2 i Pythona 3

# Ustawienie kodowania UTF-8.
# -*- coding: utf-8 -*-   # styl edytora Emacs
# coding: utf-8           # to wystarczy
# coding=utf-8            # to wystarczy
# Ustawienie kodowania ISO dla języka polskiego.
# -*- coding: iso-8859-2 -*-

# Ustawienie ścieżki do Pythona w środowisku wirtualnym i nie tylko.
#!/usr/bin/python       # NIE UWZGLĘDNIA ŚRODOWISKA!
#!/usr/bin/env python
#!/usr/bin/env python2
#!/usr/bin/env python3

Pierwsze dwa znaki skryptu (#!) nazywane są często hash bang.

Uruchomić skrypt kilkoma sposobami.


$ python hello.py
Hello, world!
$ chmod a+x hello.py          # nadanie prawa do wykonywania
$ ./hello.py
Hello, world!

Sprawdzić pracę różnych edytorów tekstu z podświetlaniem składni: mcedit (związany z Midnight Commander), nano, gedit (GNOME), kate (KDE).

Sprawdzić możliwości dużych IDE: PyCharm, Visual Studio Code, Eclipse.