Cele lekcji:
Zdobycie wiedzy umożliwiającej rozpoczęcie programowania w języku Python.
Prezentacja:
https://docs.google.com/presentation/d/1VYhJx-R6ab0nisp_Z9Icqe1It2ewb4XhW6Unx3J0NOo/edit?usp=sharing
Materiały:
Od bloczków do programu: http://otwartaedukacja.pl/programowanie/bl/py/
Podręcznik programowania w Pythonie:http://wydawnictwo.galicea.org/pyprog
Proste programy można próbować na stronie: http://python.otwartaedukacja.pl/
Opracowano na podstawie fragmentów drugiego rozdziału podręcznika https://programowanie.verbu.pl/czesc-druga-algorytmy-i-programy.html :
1) Programy w języku Python składają się z instrukcji wykonywanych po kolei (sekwencyjnie).
Każda instrukcja jest umieszczana w nowym wierszu. Najprostszą instrukcją jest nadanie wartości zmiennym (jeśli zmienna nie istnieje, jest tworzona). Nadanie wartości opisujemy znakiem =. Po lewej stronie umieszcza się identyfikator zmiennej a po prawej wartość. Może to być wyrażenie, liczba lub napis (łańcuch znaków ujęty w cudzysłowy pojedyncze lub podwójne).
Na przykład:
abc = 123
abc – identyfikator zmiennej.
Identyfikatory zmiennych mogą składać się z liter (dużych i małych), cyfr i znaku podkreślenia (_).
2) Poznane wcześniej środowiska programowania (arkusz kalkulacyjny, grafika żółwia) zawierają niejawnie zdefiniowane struktury. Komórki arkusza, czy rysujący żółw są gotowe do użycia bez żadnych działań ze strony użytkownika. W tradycyjnych językach programowania struktury tego typu są zawarte w zmiennych, a podstawową zasadą jest – by te zmienne zainicjować przed użyciem. Poza wartościami (wynikiem wyliczenia wyrażeń arytmetycznych) zmienne mogą zawierać obiekty zdefiniowane przez programistę, lub (częściej) zaimportowane z tak zwanych bibliotek (czyli fragmentów kodu przygotowanych wcześniej i udostępnionych przez twórców). Na przykład jeśli mamy dostępną bibliotekę „turtle” zawierającą definicję działania żółwia, możemy stworzyć obiekt „zolw” i sterować nim poprzez odnoszenie się do tej zmiennej:
import turtle # zaimportowanie biblioteki turtle
zolw = turtle.Turtle() # stworzenie obiektu żółwia
zolw.forward(100) # sterowanie żółwiem
Po znaku # w programie są zawarte komentarze. Nie są one uwzględniane przy wykonaniu programu, ale służą wyjaśnieniu kodu.
Kropka w powyższym przykładzie jest użyta do tego, by przywołać element wewnątrz struktury opisanej przed kropką. Wewnątrz biblioteki turtle jest definicja Turtle z której korzystamy w wierszu drugim. Natomiast utworzony według tej definicji obiekt zolw zawiera metodę poruszania nim: o nazwie forward (wiersz trzeci).
3) Instrukcje mogą tworzyć bloki, wyróżniane spacjami na początku linii. Blok instrukcji oznaczony identyfikatorem nazywa się funkcją. Identyfikator funkcji kończy się nawiasami. W nawiasach tych mogą pojawić się „parametry funkcji”).
Przykład:
def kwadrat(a):
k = a*a
print('kwadrat=%s' % k)
kwadrat(8)
W tym przykładzie identyfikator funkcji kwadrat występuje dwukrotnie. Najpierw (po słowie def) mamy deklarację funkcji (jej opis – nie skutkujący żadnymi działaniami programu).
Potem mamy wywołanie funkcji dla parametru a=8. Wywołanie funkcji jest równoważne przepisaniu w tym miejscu bloku instrukcji funkcji z uwzględnieniem parametrów.
Powyższy program jest więc równoważny do:
a=8
k = a*a
print('kwadrat=%s' % k)
Słowo def jest jednym ze słów kluczowych –czyli słów które twórcy języka zarezerwowali do oznaczenia konstrukcji takich jak pętla (powtórzenia), instrukcja warunkowa, czy (jak wyżej) definicji funkcji. Te słowa nie mogą być użyte jako nazwy zmiennych. Słowa kluczowe pomagają interpreterowi (programowi wykonującemu program w Pythonie) „zrozumieć” (czyli przeanalizować) kod programu.
Definicje nagłówka funkcji, nagłówki instrukcji złożonych itp.. kończą się znakiem dwukropka. Po nim (od nowego wiersza) następuje blok instrukcji.
4) W Pythonie występują oczywiście funkcje warunkowe (if) i pętle. Najczęściej występująca pętla to pętla for.
Przykład:
p=0
n=0
for liczba in [1,2,3,4,5,6,7,8,9]:
if liczba % 2 == 0:
p=p+liczba
else:
n=n+liczba
print('suma parzystych: %s' % p)
print('suma nieparzystych: %s' % n)
Objaśnienie:
W pętli for definiuje się instrukcję lub blok instrukcji wykonywane dla wartości zmiennych opisanych po słowie kluczowym for. W tym wypadku zmienna liczba przyjmuje wartości ze zbioru liczb od 1 do 9 (wyraża to słowo kluczowe in).
Dwa znaki = (==) oznaczają porównanie (jeden – nadanie wartości zmiennej).