• Nie Znaleziono Wyników

Programowanie proceduralne

N/A
N/A
Protected

Academic year: 2021

Share "Programowanie proceduralne"

Copied!
47
0
0

Pełen tekst

(1)

Programowanie proceduralne

INP001210WL

rok akademicki 2019/20 semestr letni

Wykład 4

Karol Tarnowski

karol.tarnowski@pwr.edu.pl

L-1 p. 220

(2)

• Słowniki

– tworzenie słownika

– operacje na słowniku – wybrane operatory, funkcje, metody

• Zbiory

– tworzenie zbiorów

– operacje na zbiorach – wybrane operatory, funkcje, metody

Plan prezentacji

T. Gaddis, Python dla zupełnie początkujących, Helion, 2019

(3)

• Słownik to obiekt przechowujący dane w postaci par: klucz-wartość.

Słownik

(4)

• Przykład polecenia tworzącego słownik:

dictionary = {1:'pn',2:'wt',3:'śr'}

• Słownik można wyświetlić funkcją print() print(dictionary)

Utworzenie słownika

(5)

• Wartości przechowywane w słowniku mogą być różnych

Różne typy wartości

(6)

• Klucze również mogą być różnych typów

Różne typy kluczy

(7)

• Elementy słownika nie są przechowywane w ustalonej kolejności

• Nie ma możliwości dostępu do wartości na podstawie pozycji

• Do pobrania wartości używa się klucza dictionary[key]

Pobieranie wartości ze

słownika

(8)

• Użycie złego klucza powoduje błąd KeyError

Pobieranie wartości ze

słownika

(9)

• Wielkość liter ma znaczenie

Pobieranie wartości ze

słownika

(10)

• Aby uniknąć błędu można sprawdzić, czy klucz istnieje w słowniku

• Do sprawdzenia można wykorzystać operator in

Sprawdzanie wartości

w słowniku

(11)

• Można również użyć operatora not in

Sprawdzanie wartości

w słowniku

(12)

• Słownik jest obiektem modyfikowalnym

• Polecenie

dictionary[key] = value

• zmodyfikuje wartość dla klucza key jeśli ten klucz istnieje w słowniku

• doda nową parę do słownika w przeciwnym przypadku

Dodanie elementu do słownika

(13)

• Polecenie del pozwala usunąć parę klucz-wartość del dictionary[key]

Usunięcie elementu ze

słownika

(14)

• Jeśli klucz nie istnieje, to pojawi się błąd KeyError

Usunięcie elementu ze

słownika

(15)

• Do sprawdzenia liczby elementów można wykorzystać funkcję len()

Sprawdzenie liczby elementów

(16)

• Obiekt modyfikowalny nie może być kluczem

Klucze muszą być

niemodyfikowalne

(17)

• Funkcja dict() tworzy słownik

• Funkcja dict() pozwala tworzyć słownik przez argumenty nazwane – nazwa argumentu staje się kluczem, a wartość argumentu staje się

wartością w parze

• Funkcja dict() pozwala tworzyć słownik z

obiektu, po którym można iterować (np. z listy)

Tworzenie słownika funkcją

dict()

(18)

Tworzenie słownika funkcją

dict()

(19)

• Wykorzystując pętle for można prowadzić iterację przez wszystkie klucze słownika

Słowniki i pętla for

(20)

• Dla każdego klucza można sprawdzić wartość,

nie jest to dobra metoda…

Słowniki i pętla for

(21)

• Ten sam efekt można osiągnąć wykorzystując metodę items(), która zwraca widok słownika

Słowniki i pętla for

(22)

• Metoda items() zwraca widok słownika

(sekwencję zawierającą dwuelementowe krotki przechowujące pary klucz-wartość)

Metoda items()

(23)

• Metoda keys() zwraca widok słownika zawierający wszystkie klucze słownika

• Metoda values() zwraca widok słownika wszystkie wartości słownika

Metody keys() i values()

(24)

• Metoda get() pozwala odczytać wartość ze słownika

• Jeśli klucza nie ma w słowniku zwraca wartość domyślną

dictionary.get(key, default)

Metoda get()

(25)

• Metoda pop() działa podobnie do metody get()

• Dodatkowo usuwa parę klucz-wartość ze słownika

Metoda pop()

(26)

• Metoda popitem() działa podobnie do metody pop()

• Zwraca jedną parę klucz-wartość (LIFO) i usuwa wpis ze słownika

Metoda popitem()

(27)

• Metoda clear() usuwa zawartość słownika

Metoda clear()

(28)

• Zbiór to obiekt przechowujący kolekcję unikatowych wartości

Zbiór

(29)

• Do utworzenia zbioru służy funkcja set()

• Funkcja set() może być wywołana bez argumentów

• Funkcja set() może być wywołana z argumentem w postaci listy

• Funkcja set() może być wywołana z

argumentem w postaci łańcucha znakowego

Funkcja set()

(30)

Funkcja set()

(31)

• Zbiór zawiera tylko unikatowe elementy

Funkcja set()

(32)

• Funkcja set() pobiera maksymalnie 1 argument

• Przykład tworzenia zbioru zawierającego łańcuchy znakowe

Funkcja set()

(33)

• Do sprawdzenia liczby elementów można wykorzystać funkcję len()

Sprawdzenie liczby elementów

(34)

• Dodawanie elementów metodą add()

Dodawanie elementów do

zbioru

(35)

• Dodawanie elementów metodą update()

Dodawanie elementów do

zbioru

(36)

• Dodawanie elementów metodą update()

Dodawanie elementów do

zbioru

(37)

• Usuwanie elementów metodą remove()

Usuwanie elementów do

zbioru

(38)

• Usuwanie elementów metodą discard()

• Metoda dicsard() nie zgłasza błędu, gdy elementu nie ma w zbiorze

Usuwanie elementów do

zbioru

(39)

• Czyszczenie zbioru metodą clear()

Usuwanie wszystkich

elementów zbioru

(40)

• Do przejścia po elementach zbioru możemy wykorzystać pętle for

Przechodzenie przez

wszystkie elementy zbioru

(41)

• Na zbiorach działają operatory in oraz not in

Sprawdzanie należenia do

zbioru

(42)

• Do łączenia zbiorów można wykorzystać metodę union() lub operator |

Łączenie zbiorów

(43)

• Do wyznaczenia części wspólnej można

wykorzystać metodę intersection() lub operator &

Część wspólna zbiorów

(44)

• Do wyznaczenia różnicy zbiorów można wykorzystać metodę difference() lub operator -

Różnica zbiorów

(45)

• Do wyznaczenia różnicy symetrycznej zbiorów można wykorzystać metodę

symmetric_difference() lub operator ^

Różnica symetryczna zbiorów

(46)

• Do sprawdzenia zawierania się zbiorów można wykorzystać metody issubset() oraz

issuperset() lub operatory <= oraz >=

Wyszukiwanie podzbioru

(47)

• Słowniki

– tworzenie słownika

– operacje na słowniku – wybrane operatory, funkcje, metody

• Zbiory

– tworzenie zbiorów

– operacje na zbiorach – wybrane operatory, funkcje, metody

Podsumowanie

Cytaty

Powiązane dokumenty

• cmentarzysko kultury unietyckiej (I okres epoki brązu) osada kultury łużyckiej (V okres epoki brązu - HaC) •.. Ratownicze badania wykopaliskowe, na trasie autostrady

ten dencje do absolutyzow ania cech indyw idualnych zjaw isk ora-/ neokantow ska filozofia w arto ści — jak zasada selekcjonow ania i oceiny wydairzeń pod kątem

Dalsze rozpowszechnianie (w tym umieszczanie w sieci) jest zabronione i stanowi poważne naruszenie przepisów prawa autorskiego oraz grozi sankcjami

Кроме того все эти многочисленные сведения польских источников, касающи­ еся классовой борьбы за границей, по мнению автора, доказывают существование

The model is able to deal with multiple time scales, namely the mutual influence of the choice of departure times, congestion and costs for early/late arrival of freight units, and

- Convection of vortex through shock wave, II: formation of envelope by p1ane sound waves generated ~t shock.. - Transformation of origin from vortex

Rekapitulując, należy stwierdzić, iż surowość nie prowadzi do ogranicze­ nia przestępczości, co potwierdzają badania i obserwacje, powoduje nato­ m iast znaczne

Środek otworu znajduje się niemal dokładnie na 2/3 długości narzędzia, jednak nie jest umieszczony w połowie szerokości, lecz jest nieco przesunięty w bok od linii osi długiej,