Python. Języki Programistyczne Microcode Machine code Assembly Language (symboliczna reprezentacja machine code) Low-level Programming Language (FORTRAN,

1 Python ...
Author: Aneta Jóźwiak
0 downloads 3 Views

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