Podstawy programowania w Pythonie

Wielkość: px
Rozpocząć pokaz od strony:

Download "Podstawy programowania w Pythonie"

Transkrypt

1 Podstawy programowania w Pythonie Wykład 1 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 3 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

2 Treści programowe Podstawowe pojęcia programowania Proste typy danych w Pythonie Grafika żółwia w Pythonie Moduły Pythona Funkcje Instrukcja wyboru Iteracje Łańcuchy znaków Krotki Listy Pliki Słowniki Rekurencja Definiowanie klas dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

3 Zalecana Literatura Python 3 dla poczatkuj acych Peter Wentworth, Jeffrey Elkner,Allen B. Downey, Chris Meyers How to Think Like a Computer Scientist: Learning with Python 3 thinkcspy3/thinkcspy3.pdf Wersja online: openbookproject.net/thinkcs/python/english3e/ Wersja interaktywna: thinkcspy/index.html Python 3 dla średnio zaawansowanych Mark Summerfield. Python 3. Kompletne wprowadzenie do programowania. Wydanie II. Wydawnictwo Helion. Gliwice, czerwiec dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

4 Literatura uzupełniajaca Python 3 Przewodnik po języku Python Dokumentacja dla wersji języka Python Mark Pilgrim Dive into Python 3. Python 2 Dokumentacja dla wersji 2.3 języka Python Tłumaczenie ksiażki Dive into Python. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

5 Komputery i programy Pojęcia podstawowe Komputer to elektroniczne urzadzenie, które przechowuje i przetwarza informacje zgodnie z wykonywanym programem. Większość współczesnych komputerów oparta jest na tzw. architekturze von Neumanna (od nazwiska Johna von Neumanna). Cecha charakterystyczna tej architektury jest to, że programy oraz dane do programów znajduja się w tej samej pamięci, zwanej pamięcia operacyjna. Podstawowe elementy komputera to: procesor (CPU od ang. Central Processor Unit) pamięć operacyjna (RAM od ang. Random Access Memory) urzadzenia wejścia/wyjścia pamięć zewnętrzna dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

6 Komputery i programy Funkcjonalny schemat komputera CPU Urządzenia Wyjściowe Urządzenia Wejściowe Pamięć Operacyjna Pamięć Zewnętrzna dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

7 Komputery i programy Pojęcia podstawowe Program komputerowy to szczegółowy zestaw instrukcji określajacy działanie komputera. Programowanie to proces tworzenia kodu źródłowego programu w wybranym języku programowania. Język programowania to zbiór reguł określajacych, które ciagi symboli tworza program komputerowy oraz jakie obliczenia opisuje ten program. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

8 Komputery i programy Postacie programu Kod źródłowy to ciag instrukcji i deklaracji zapisany w zrozumiałym dla człowieka języku programowania. Kod maszynowy to postać programu komputerowego (nazywana wykonywalna lub binarna) przeznaczona do bezpośredniego lub prawie bezpośredniego wykonania przez procesor. Postać binarna programu jest dopasowana do konkretnego typu procesora i wyrażona w postaci rozumianych przez niego kodów rozkazów oraz ich argumentów. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

9 Języki programowania Podział ze względu na sposób przetwarzania Aby program napisany w danym języku mógł być wykonany, niezbędne jest odpowiednie przetworzenie jego kodu źródłowego: Kompilacja kod źródłowy jest tłumaczony do postaci języka maszynowego. Interpretacja kod źródłowy jest na bieżaco tłumaczony i wykonywany przez dodatkowy program zwany interpreterem. Jeżeli dany język programowania podlega kompilacji, nazywany jest kompilowanym językiem programowania. Jeżeli dany język programowania podlega interpretacji, nazywany jest interpretowanym językiem programowania. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

10 Komputery i programy Kompilacja programu Kod Źródłowy (Program) Kompilator Kod Maszynowy Dane Wejściowe Wykonywany Program Dane Wyjściowe dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

11 Komputery i programy Interpretacja programu Kod Źródłowy (Program) Interpreter wykonywany przez komputer Dane Wyjściowe Dane Wejściowe dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

12 Wprowadzenie Charakterystyka języka Python Python jest interpretowanym językiem programowania wysokiego poziomu stworzonym przez holenderskiego programistę Guido van Rossuma w 1990 roku. Język został tak nazwany w ślad za programem telewizyjnym BBC Latajacy cyrk Monty Pythona. Obecnie Python rozwijany jest jako projekt Open Source, zarzadzany przez Python Software Foundation, będac a organizacja non-profit. W stosunku do wcześniejszych wersji języka Python w wersji 3.0 wprowadzono wiele istotnych zmian, które spowodowały brak zgodności wstecz. Najnowsza stabilna wersja języka Python jest wersja 3.3.0, która została wydana 29 września 2012 roku. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

13 Wprowadzenie Charakterystyka języka Python W Pythonie to wartości, a nie zmienne, posiadaja typ tak więc Python jest językiem z typami dynamicznymi. Python posiada wbudowane abstrakcyjne typy danych takie jak np. listy, krotki, zbiory i słowniki. W Pythonie możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne. Do zarzadzania pamięcia stosuje się zbieranie nieużytków (ang. garbage collection), tak więc Python nie wymaga od programisty ręcznego zarzadzania pamięcia. Cecha wyróżniajac a Pythona spośród innych języków jest stosowanie wcięć do wydzielania bloków kodu. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

14 Instalacja interpretera języka Python W systemie Ubuntu Linux Najprościej zainstalować Pythona 3 wykonujac w terminalu polecenie: $ sudo apt-get install python3 W systemie Windows Interpreter Pythona 3 można bezpłatnie pobrać ze strony Pobieramy plik python msi poprzez link Windows x86 MSI Installer (3.3.0) lub plik python amd64.msi poprzez link Windows X86-64 MSI Installer (3.3.0) Instalujemy Pythona klikajac na pobrany plik. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

15 Używanie interpretera Pythona Aby uruchomić interpreter Pythona 3 w systemie Linux otwieramy terminal i w konsoli wpisujemy polecenie: [student@lab3019 ]$ python3 Pojawi się krótka informacja o interpreterze oraz znak zachęty: >>> Od tej chwili możemy wpisywać instrukcje oraz wyrażenia języka Python, np. >>> Po naciśnięciu klawisza <Enter> na ekranie zobaczymy obliczony przez interpreter wynik wyrażenia oraz w następnej linii ponownie znak zachęty. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

16 Używanie interpretera Pythona Importowanie modułów Aby móc korzystać z funkcji matematycznych należy zaimportować odpowiedni moduł: >>> import math Od tej chwili możemy używać funkcji zdefiniowanych w tym module, np. >>> math.sqrt(2) Po naciśnięciu klawisza <Enter> na ekranie zobaczymy obliczony przez funkcję math.sqrt pierwiastek z liczby 2 oraz w następnej linii ponownie znak zachęty. Aby uzyskać pomoc na temat funkcji i stałych zdefiniowanych w module math należy użyć funkcji help: >>> help(math) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

17 Używanie interpretera Pythona Przykład Wykorzystanie funkcji print >>> print("witajcie studenci!") Witajcie studenci! >>> >>> print(2 + 3) 5 >>> print("2 + 3 = ", 2 + 3) = 5 >>> print(2, "+", 3, "=", 2 + 3) = 5 >>> dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

18 Podstawy języka Python Typy liczbowe W języku Python dostępne sa następujace rodzaje liczb: całkowite (0, 1, -2, itd.) typ int boolowskie (tylko wartości False oraz True) typ bool zmiennoprzecinkowe (3.14, 2.718, itd.) typ float zespolone (2+3j, 1j, 1+0j) typ complex Operatory arytmetyczne: dodawanie + oraz odejmowanie mnożenie, dzielenie /, dzielenie całkowite // reszta z dzielenia całkowitego % potęgowanie Operatory z operandami typów mieszanych przekształcaja operandy boolowskie w całkowite, zmiennoprzecinkowe lub zespolone operandy całkowite w zmiennoprzecinkowe lub zespolone operandy zmiennoprzecinkowe w zespolone. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

19 Podstawy języka Python Typy liczbowe Typ obiektu można pobrać za pomoca wbudowanej funkcji type. Przykłady >>> type(16) >>> type("hello") >>> type("16") >>> type(3.14) >>> type(2 64) >>> type(1 > 0) >>> type(false) >>> type(true) >>> type(none) >>> type(1 + 2j) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

20 Podstawy języka Python Priorytety operatorów Nawiasy maja najwyższy priorytet. Sa używane do wymuszenia obliczania wartości wyrażenia w żadanej kolejności, Potęgowanie ma kolejny najwyższy priorytet. Mnożenie, dzielenie, dzielenie całkowite i reszta z dzielenia maja ten sam priorytet, który jest wyższy niż dodawanie i odejmowanie, które również maja ten sam priorytet. Operatory o tym samym priorytecie sa obliczane od lewej do prawej. W algebrze mówimy, że sa lewostronnie łaczne. Wyjatkiem (z powodów historycznych) jest operator potęgowania, który jest prawostronnie łaczny. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21

21 Podstawy języka Python Operatory porównania Python oferuje standardowy zestaw binarnych operatorów porównania charakteryzujacych się oczekiwana semantyka: < (mniejszy niż), > (większy niż), == (równy),!= (różny <= (mniejszy lub równy), >= (większy lub równy), Wymienione operatory porównuja wartości obiektów, do których odniesienia zostały wskazane w operatorze. Wynikiem porównania jest wartość typu bool: False albo True. Porównania, które nie maja sensu, będa powodowały zgłoszenie wyjatku. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 3 października / 21