1 Python
2 Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN, COBOL, BASIC, C) High-level Programming Language (Java, Python, Prolog, MATLAB)
3 Kompilacja (Compilation) Kompilator (Compiler) to program który konwertuje program napisany w języku na wyższym poziome do ekwiwalentnego programu na niższym poziomie Zalety: Kompiluj raz, wywołaj program wiele razy Kompilator może przyspieszyć działanie programu, nawet jak optymizacja może długi czas zając Wada: Debugowanie kodu wymaga dużego wsparcia narzędzi programistycznych
4 Interpretowany kod Kod który nie jest kompilowany jest interpretowany Python korzysta z stwarzania „byte-code” przed interpretacja (pliki.pyc) Zalety: Stwarza wrażenie że rzeczywiście komputer działa za pomocy języka na wysokim poziomie Lepszy debugging Łatwiej dodać kod w czasie działania programu Wada: Wolniejszy
5 Python Python jest dynamiczny zinterpretowany język programistyczny Nie ma deklaracji typów zmiennych, parametrów, funkcji lub metod w kodzie źródłowym W czasie działania programu typy wszystkich obiektów są ustalone przez interpretera
6 Python Interpreter >>> a = 6 >>> a 6 >>> a + 2 8 >>> a = 'hallo' 'hallo‚ >>> len(a) 5
7 Python Interpreter >>> a = 6 >>> a 6 >>> a + 2 8 >>> a = 'hallo' 'hallo' >>> len(a) 5 Uruchomić shella IPython
8 Kod Źródłowy Kod źródłowy Pythona używa rozszerzenie „.py” i te pliki są nazwane „modułami” (modules) Żeby uruchomić np. moduł Pythona ‚hallo.py’ można np. użyć komendę ‚python hallo.py Wojtek’ lub ‚run hallo.py Wojtek’ z shellu
9 Instrukcje warunkowe: if - else
10 Funkcje Za pomocy komendy „def” Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie
11 Funkcje Za pomocy komendy „def” Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie
12 Kod sprawdzony w czasie działania Kod poprawnie będzie działał w przypadku jak imię jest różne od Wojtek mimo tego ze kod źródłowy zawiera ewidentny błąd
13 Python Modules Wypisanie nazwy modułu i wciśnięcia klawisza TAB nam wyświetli wszystkie definicje modułu (wyrażenia zdefiniowane za pomocy komendy def)
14 Opis modułów i funkcji Opis modułów lub ich funkcji można uzyskać za pomocy help(), dir() lub ?
15 Python Strings Python posiada klasę „str” która ma wiele przydatnych narzędzi do obsługi stringów Stringi mogą być zaznaczane za pomocy ' lub ” Używanie odwrotnego ukośnika \ działa normalnie, np. \n,\\ stwarza nowa linijkę Stringi są niezmienne Polskie znaki: # -*- coding: utf-8 -*- (w nagłówku) Używać litery u przed ”
16 String splicing Odniesienie do pojedynczych liter realizuje się za pomocy nawiasów [] (pierwsza instancja to 0, np. str[1] jest ‚a’ w stringu ‚hallo’)
17 Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string ‚Liczba ciasteczek jest: #’ w przypadku jak liczba jest mniejsza lub równa od 9 lub ‚za dużo ciasteczek’ jak liczba jest większa 9
18 Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string ‚Liczba ciasteczek jest: #’ w przypadku jak liczba jest mniejsza lub równa od 9 lub ‚za dużo ciasteczek’ jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu
19 Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string ‚Liczba ciasteczek jest: #’ w przypadku jak liczba jest mniejsza lub równa od 9 lub ‚za dużo ciasteczek’ jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu Napisz funkcje która zastępuje wszystkie litery które są identyczne z pierwsza litera dowolnego stringu o długości 1 lub więcej znakiem * ale nie zmienia pierwszą literę (np. armata arm*t*)
20 Zadania Napisz funkcje która biedzę brała liczbę jako input i oddaje string ‚Liczba ciasteczek jest: #’ w przypadku jak liczba jest mniejsza lub równa od 9 lub ‚za dużo ciasteczek’ jak liczba jest większa 9 Napisz funkcje która okraja pierwsze dwa i ostatnie dwie litery dowolnego stringu Napisz funkcje która zastępuje wszystkie litery które są identyczne z pierwsza litera dowolnego stringu o długości 1 lub więcej znakiem * ale nie zmienia pierwszą literę (np. armata arm*t*) Napisz funkcje która z dwóch stringów wprowadzonych wydaje dwie nowe stringi, gdzie pierwsze dwa litery są zamienione
21 Python Lists Listy są stwarzane za pomocą []
22 Python Lists Listy są stwarzane za pomocą [] Nie kopiuje listy!
23 Python Lists Listy są stwarzane za pomocą [] liczby a [1,2,3]
24 FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komędy : for var in list
25 FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komedy : for var in list
26 Slicing działa jak w przypadku stringow, np. liczby[1:] 2, 3
27 Sortowanie Za pomocy funkcji sorted()
28 Sortowanie za pomocy funkcji (key=)
29 ‚a’‚bbbb’‚cc’‚ddd’
30 Sortowanie za pomocy funkcji (key=) ‚a’‚bbbb’‚cc’‚ddd’ 1423
31 Sortowanie za pomocy funkcji (key=) ‚a’‚bbbb’‚cc’‚ddd’ 1111 4242 2323 3434 ‚a’‚cc’‚ddd’‚bbbb’ sortowanie
32 Sortowanie za pomocy sort()
33
34 Tuples (Krotki) Krotka to grupowanie elementów o ustalonej wielkości (n.p. punkt w 2 wymiarowej przestrzeni) Krotka jest niemutowalna i nie zmienia wielkości z porównaniu do list Żeby stworzyć krotke to należy użyć nawiasów ()
35 Tuples vs. Lists
36 Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia
37 Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia Na danej liście stringów napisz funkcje która zwraca sortowana listę ale podaje najpierw wszystkie stringi które rozpoczynają się z litera x (zdefiniuj dwie listy w funkcji żeby rozwiązać zadanie)
38 Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia Na danej liście stringów napisz funkcje która zwraca sortowaną listę ale podaje najpierw wszystkie stringi które rozpoczynają się z litera x (zdefiniuj dwie listy w funkcji żeby rozwiązać zadanie) Na danej liście krotek zwróć sortowaną listę według ostatniego elementu każdego krotka (np. [(2,7),(1,2),(1,3)] [(1,2),(1,3),(2,7)])
39 Zadania Na danej liście stringów napisz funkcje która liczy ile stringów w liście maja długość większa od 2 i pierwsza litera jest taka sama jak ostatnia Na danej liście stringów napisz funkcje która zwraca sortowaną listę ale podaje najpierw wszystkie stringi które rozpoczynają się z litera x (zdefiniuj dwie listy w funkcji żeby rozwiązać zadanie) Na danej liście krotek zwróć sortowaną listę według ostatniego elementu każdego krotka (np. [(2,7),(1,2),(1,3)] [(1,2),(1,3),(2,7)]) Na danej liście liczb, zwróć listę liczb gdzie wszystkie sąsiednie liczby o tej samej wartości są do jednej liczby zredukowane (np. [1,2,2,3] [1,2,3])
40 Słownik (Dict) Definiuję się słownik za pomocy nawiasów {}
41 Słownik (Dict) Keys (klucze)Values (wartości) ‚r’‚raz’ ‚d’‚dwa’ ‚t’‚trzy’ dict
42 Słownik (Dict) Keys (klucze)Values (wartości) ‚r’‚raz’ ‚d’‚dwa’ ‚t’‚trzy’ dict
43
44 Del Operator ‚del’ wdraża usuwania
45 Pliki
46 Plik składa się z wierszow (line) – za pomocy funkcji split() można stworzyć liste słów
47 Zadania Napisz program który otwiera plik posiadający dwie kolumny słów i zapisuje zawartość jako słownik, gdzie zawartość pierwszej kolumny jest kluczem a zawartość drugiej kolumny jest wartością słownika (lista znajduje się: https://wp.faculty.wmi.amu.edu.pl/lista.txt )
48 Zadania Napisz program który otwiera plik posiadający dwie kolumny słów i zapisuje zawartość jako słownik, gdzie zawartość pierwszej kolumny jest kluczem a zawartość drugiej kolumny jest wartością słownika (lista znajduje się: https://wp.faculty.wmi.amu.edu.pl/lista.txt ) Napisz program który liczy ile słów jest w danym pliku i wyświetla dla każdego słowa ile razy ono się pojawia w pliku