PPy3/PierwszeKroki: Różnice pomiędzy wersjami

Z Brain-wiki
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

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)



poprzednia | Strona główna | dalej

--RobertJB (dyskusja) 13:53, 15 cze 2016 (CEST)