Python
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)
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
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
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
Python Interpreter >>> a = 6 >>> a 6 >>> a >>> a = 'hallo' 'hallo‚ >>> len(a) 5
Python Interpreter >>> a = 6 >>> a 6 >>> a >>> a = 'hallo' 'hallo' >>> len(a) 5 Uruchomić shella IPython
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
Instrukcje warunkowe: if - else
Funkcje Za pomocy komendy „def” Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie
Funkcje Za pomocy komendy „def” Wcięcie (Indentation) w Pythonie zmienia znaczenie kodu Logiczny blok kodu powinien zawsze mieć takie same wcięcie
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
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)
Opis modułów i funkcji Opis modułów lub ich funkcji można uzyskać za pomocy help(), dir() lub ?
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 ”
String splicing Odniesienie do pojedynczych liter realizuje się za pomocy nawiasów [] (pierwsza instancja to 0, np. str[1] jest ‚a’ w stringu ‚hallo’)
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
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
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*)
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
Python Lists Listy są stwarzane za pomocą []
Python Lists Listy są stwarzane za pomocą [] Nie kopiuje listy!
Python Lists Listy są stwarzane za pomocą [] liczby a [1,2,3]
FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komędy : for var in list
FOR i IN Pętle w pythonie się definiuję na przykład za pomocy komedy : for var in list
Slicing działa jak w przypadku stringow, np. liczby[1:] 2, 3
Sortowanie Za pomocy funkcji sorted()
Sortowanie za pomocy funkcji (key=)
‚a’‚bbbb’‚cc’‚ddd’
Sortowanie za pomocy funkcji (key=) ‚a’‚bbbb’‚cc’‚ddd’ 1423
Sortowanie za pomocy funkcji (key=) ‚a’‚bbbb’‚cc’‚ddd’ ‚a’‚cc’‚ddd’‚bbbb’ sortowanie
Sortowanie za pomocy sort()
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 ()
Tuples vs. Lists
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
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)
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)])
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])
Słownik (Dict) Definiuję się słownik za pomocy nawiasów {}
Słownik (Dict) Keys (klucze)Values (wartości) ‚r’‚raz’ ‚d’‚dwa’ ‚t’‚trzy’ dict
Słownik (Dict) Keys (klucze)Values (wartości) ‚r’‚raz’ ‚d’‚dwa’ ‚t’‚trzy’ dict
Del Operator ‚del’ wdraża usuwania
Pliki
Plik składa się z wierszow (line) – za pomocy funkcji split() można stworzyć liste słów
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ę: )
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ę: ) 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