PPy3/PierwszeKroki: Różnice pomiędzy wersjami
Linia 131: | Linia 131: | ||
*operacje na ułamkach należy zawsze traktować jako przybliżone - komputer może ogarnąć tylko skończoną liczbę cyfr | *operacje na ułamkach należy zawsze traktować jako przybliżone - komputer może ogarnąć tylko skończoną liczbę cyfr | ||
*zwykłe dzielenie da zawsze wynik ułamkowy; istnieje jednak operator <tt>//</tt> dzielenia całkowitego | *zwykłe dzielenie da zawsze wynik ułamkowy; istnieje jednak operator <tt>//</tt> dzielenia całkowitego | ||
− | *gdy chcemy zakończyć "rozmowę" z interpreterem, piszemy <tt>exit()</tt> | + | *gdy chcemy zakończyć "rozmowę" z interpreterem, piszemy <tt>exit()</tt>; jeżeli pracujemy w Linuxie, zadziała również dwukrotne <tt>Ctrl-D</tt> (tzn. trzymając naciśnięty klawisz <tt>Ctrl</tt> stukamy dwukrotnie w klawisz <tt>D</tt>) |
Wersja z 14:30, 15 cze 2016
Spis treści
Pierwsze kroki
Podstawowe cegiełki
- Program w Pythonie to tekst, stanowiący ciąg instrukcji; są one wykonywane przez interpreter (zasadniczo) kolejno jedna po drugiej.
- Prosta instrukcja to (zasadniczo) jedna linijka, kończy się wraz z przejściem do kolejnej linii.
- Instrukcja złożona, to linijka otwierająca zawsze zakończona dwukropkiem, a po niej - blok wcięty, tj. ciąg instrukcji (prostych i/lub złożonych) pisanych z dodatkowym wcięciem w stosunku do linijki otwierającej; mogą to być dodatkowe (np. dwie lub cztery) spacje, lub kod tabulacji, na początku każdej linijki. Koniec instrukcji złożonej następuje wraz z powrotem do poprzedniego poziomu wcięcia.
- Wyjątki od podanych reguł, istnienie których sygnalizuje słowo zasadniczo, będą przedstawione później.
- Należy się raz zdecydować, jak dokładnie będziemy tworzyć poziomy wcięcia, i konsekwentnie się tego trzymać. Najlepiej po dwie lub cztery spacje (wg. upodobań), i ustawić w opcjach edytora kodu, żeby wciśnięcie klawisza Tab skutkowało odpowiednią liczbą spacji. Mieszanie w tekście kodu spacji i tabulacji zawsze prowadzi do kłopotów.
Przykłady instrukcji prostych:
x = 1 + 2
y = 2 * x
x = x + 1
print(x, y)
Przykłady instrukcji złożonych:
if x > 0:
print(x)
def dodaj1(x):
return x + 1
Ważnym elementem są komentarze:
# a teraz, powiększę x o 1
x = x + 1
- Instrukcje budowane są z wyrażeń, a wyrażenia - z nazw, stałych i operatorów.
- Nazwa może składać się z liter (bez ogonków), cyfr i znaku podkreślenia (_). Nie może zaczynać się od cyfry. Litery małe i wielkie są rozróżniane.
- Przykładem stałych są liczby - całkowite i ułamki dziesiętne. Zamiast przecinkiem, część ułamkową oddziela się kropką.
- Inny rodzaj stałych to napisy. Można je budować na kilka sposobów:
'to jest napis'
"to jest drugi napis"
'''a to jest...
jeszcze jeden napis'''
- Ostatni przypadek to wyjątek od zasady że koniec linii kończy instrukcję. Napis podany w pierwszych dwóch postaciach nie może zawierać przejścia do nowej linii.
- Nazwy są po to, aby oznaczać nimi wartości. Wartościami mogą być np. liczby i napisy:
pi = 3.14159
komunikat = 'Uwaga!!!'
UWAGA: znak równości to nie porównanie, a operator przypisania. Powoduje on, że nazwa po jego lewej stronie będzie odtąd oznaczać wartość zapisaną po prawej.
- Więcej o stałych i nazwach na następnej stronie, na razie tyle nam wystarczy.
- Inne operatory, to w szczególności arytmetyka:
+ - * / % **
'*' to mnożenie, '%' to reszta z dzielenia (liczb całkowitych), '**' to potęgowanie.
- Napisy też można "dodawać":
imie = 'Jacek'
powitanie = 'witaj ' + imie
print(powitanie)
Używanie linii poleceń interpretera
Interpreter to aplikacja, która potrafi czytać tekst kodu w języku Python i wykonać zapisane w nim polecenia. Może on być używany jako samodzielne polecenie, wywoływane w oknie terminala, lub zintegrowany z środowiskiem programistycznym w rodzaju Spyder.
Zanim zaczniemy pisać "poważne" programy, nauczymy się korzystać z trybu interaktywnego interpretera, który pozwala na wpisywanie po jednym poleceniu i natychmiastowe uzyskanie wyniku jego wykonania. Można go używać do podręcznych rachunków - zamiast kalkulatora -- i do eksperymentowania z kodem w Pythonie. Do pracy interaktywnej warto używać "wzbogaconej" wersji interpretera, wywoływanej poleceniem
$ ipython3
w najprostszych zastosowaniach niewiele się on różni od "zwykłego" interpretera, wywoływanego przez python3, ale posiada pewne dodatkowe możliwości, które niedługo się nam przydadzą.
UWAGA: polecenie ipython (bez 3) wywoła starszą wersję Pythona. I odpowiednio - python wywołuje starszą wersję "zwykłego" interpretera, a python3 - wersję aktualną.
Wykonywanie rachunków
$ ipython3
Python 3.5.1+ (default, Mar 30 2016, 22:46:26)
Type "copyright", "credits" or "license" for more information.
IPython 2.4.1 -- An enhanced Interactive Python.
? -> Introduction and overview of IPython's features.
%quickref -> Quick reference.
help -> Python's own help system.
object? -> Details about 'object', use 'object??' for extra details.
In [1]: 7 * (3 + 5)
Out[1]: 56
In [2]: 2.81 / (1.25 - .33)
Out[2]: 3.054347826086957
In [3]: 2**128
Out[3]: 340282366920938463463374607431768211456
In [4]: 1/9
Out[4]: 0.1111111111111111
In [5]: 11//9, 11%9
Out[5]: (1, 2)
Zapis wyrażeń arytmetycznych raczej nie zaskakuje. Drobne uwagi:
- spacje w zapisie wyrażenia, pomiędzy liczbami a operatorami (lub ich brak), nie mają znaczenia
- reguły pierwszeństwa operatorów (najpierw potęgowanie, potem mnożenie i dzielenie, potem odejmowanie i dodawanie,...) są w zasadzie takie, jak należy się spodziewać; kolejność operacji możemy narzucić nawiasami - ale tylko okrągłymi, które można wielokrotnie zagnieżdżać
- pisząc ułamek dziesiętny (liczbę z kropką), można pominąć część całkowitą lub ułamkową, o ile ma ona być zero (nie można jednak pominąć obu);
- liczby całkowite mogą być dowolnie duże (w ramach fizycznych ograniczeń komputera)
- operacje na ułamkach należy zawsze traktować jako przybliżone - komputer może ogarnąć tylko skończoną liczbę cyfr
- zwykłe dzielenie da zawsze wynik ułamkowy; istnieje jednak operator // dzielenia całkowitego
- gdy chcemy zakończyć "rozmowę" z interpreterem, piszemy exit(); jeżeli pracujemy w Linuxie, zadziała również dwukrotne Ctrl-D (tzn. trzymając naciśnięty klawisz Ctrl stukamy dwukrotnie w klawisz D)