dr Bogna Zacny
Katedra Inżynierii Wiedzy
Wydział Informatyki i Komunikacji
python
Agenda
- Informatyka na Uniwersytecie Ekonomicznym w Katowicach
- Python
- Przetwarzanie obrazów
Kierunki informatyczne na UE
I stopień
Informatyka
Specjalności
Informatyka i Ekonometria
Specjalności
Python
- Język programowania wysokiego poziomu, ogólnego przeznaczania
- Wieloparadygmatowy: obiektowy, imperatywny, funkcyjny
- Skrypty nie są kompilowane tylko interpretowane przez dedykowany interpreter
Python
- Charakteryzuje się dynamicznym systemem typów
Python
- Charakteryzuje się dynamicznym systemem typów
cena = 10
print(type(cena))<class 'int'>
Python
- Charakteryzuje się dynamicznym systemem typów
cena = 10
print(type(cena))<class 'int'>
cena = 10 + 0.9
print(type(cena))Python
- Charakteryzuje się dynamicznym systemem typów
cena = 10
print(type(cena))<class 'int'>
cena = 10 + 0.9
print(type(cena))<class 'float'>
Python
- Charakteryzuje się automatycznym zarządzaniem pamięcią
cena = 10
print(id(cena))14071341129120
cena = 10 + 0.9
print(id(cena))140713411291232
Python
- Charakteryzuje się przejrzystością i zwięzłością kodu źródłowego
import thisComplex is better than complicated.
Flat is better than nested.
Sparse is better than dense.
Readability counts.
Special cases aren't special enough to break the rules.
Although practicality beats purity.
Errors should never pass silently.
Unless explicitly silenced.
In the face of ambiguity, refuse the temptation to guess.
There should be one-- and preferably only one --obvious way to do it.
Although that way may not be obvious at first unless you're Dutch.
Now is better than never.
Although never is often better than *right* now.
If the implementation is hard to explain, it's a bad idea.
If the implementation is easy to explain, it may be a good idea.
Namespaces are one honking great idea -- let's do more of those!
Zmienna
zmienna w pythonie to nazwa nadana wartości lub kolekcji wartości
Zmienna
zmienna w pythonie to nazwa nadana wartości lub kolekcji wartości
-> operator przypisania
=
Zmienna
zmienna w pythonie to nazwa nadana wartości lub kolekcji wartości
=
-> operator przypisania
nazwa = wartosc
Zmienna
wzrost = 1.7
print(f'Wzrost Janka wynosi {wzrost}')Zmienna
wzrost = 1.7
waga = 70
print(waga / wzrost**2)Zmienna
wzrost = 1.7
waga = 70
bmi = waga / wzrost**2
print(bmi)Typy danych
Atomowe
Kolekcje
Typy danych
Atomowe
Typy danych
tekstowe
a = 'python'
b = '1'
c = '.'Atomowe
Typy danych
tekstowe
a = 'python'
b = '1'
c = '.'liczbowe
a = 123
b = 12.3
c = 0.8721
Atomowe
Typy danych
tekstowe
liczbowe
logiczna
a = False
b = Truea = 'python'
b = '1'
c = '.'a = 123
b = 12.3
c = 0.8721
Atomowe
Typy danych
Kolekcje
Typy danych
lista =>[ ]
a = ['mój', 'samochód', 'mój', 'wybór']
b = ['Uczelnia', 'UEwK-ce', 2019]
c = [1, 1, 2, 3, 4.5, 1201, 1]Kolekcje
Typy danych
lista =>[ ]
d = 'Meritum'a = ['mój', 'samochód', 'mój', 'wybór']
b = ['Uczelnia', 'UEwK-ce', 2022]
c = [1, 1, 2, 3, 4.5, 1201, 1]Kolekcje
-> string
Typy danych
zbiór =>{ }
a = {'samochód', 'mój', 'wybór'}
b = {'Uczelnia', 'UEwK-ce', 2019}
c = {1, 2, 3, 4.5, 1201}
lista =>[ ]
a = ['mój', 'samochód', 'mój', 'wybór']
b = ['Uczelnia', 'UEwK-ce', 2022]
c = [1, 1, 2, 3, 4.5, 1201, 1]Kolekcje
Typy danych
krotka =>( )
a = ("Jan", "Kowalski", "80010103754")
zbiór =>{ }
a = {'samochód', 'mój', 'wybór'}
b = {'Uczelnia', 'UEwK-ce', 2019}
c = {1, 2, 3, 4.5, 1201}
lista =>[ ]
a = ['mój', 'samochód', 'mój', 'wybór']
b = ['Uczelnia', 'UEwK-ce', 2022]
c = [1, 1, 2, 3, 4.5, 1201, 1]Kolekcje
Typy danych
słowik =>{:}
a = {'imię': 'Jan', 'nazwisko': 'Nowak', 'wiek': 23}
b = {'dok1': ['mój', 'samochód', 'mój', 'wybór'],
'dok2': ['mocna', 'herbata', 'na', 'nastrój']}
dok1 = {'mój': 2, 'samochód': 1, 'wybór': 1}
Kolekcje
Wycinanie list
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
[ 'Storm', 'Wolverine']
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
Indeksowanie
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
Indeksowanie
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
0
1
2
3
4
Wycinanie list
Indeksowanie
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
0
1
2
3
4
[]
-> operator wycinania
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
0
1
2
3
4
[]
lista[indeks]
-> operator wycinania
Wycinanie list
[ 'Thor', 'Storm', 'Wolverine', 'Hulk', 'Wasp' ]
0
1
2
3
4
[]
lista[indeks]
lista[start:stop]
-> operator wycinania
Iteracja
Pętla iteracyjna =>
Pętla repetycyjna =>
forwhileIteracja
for [każdego_elementu] in [kolekcji]: wykonaj_instrukcje
Pętla iteracyjna
Iteracja
for i in range(5):
print(i)
Pętla iteracyjna
forIteracja
for i in range(5):
print(i)
Pętla iteracyjna
0 1 2 3 4
forIteracja
for i in [11,22,33]:
print(i)
Pętla iteracyjna
11 22 33
forIteracja
for i in 'ABC':
print(i)
Pętla iteracyjna
A B C
forIteracja
liczby = [1,2,3,4]
for liczba in liczby:
potega = liczba * liczba
print(potega)
Pętla iteracyjna
1
4
8 16
forIteracja
liczby = [1,2,3,4]
potegi = []
for liczba in liczby:
potega = liczba * liczba
potegi.append(potega)
print(potegi)
Pętla iteracyjna - tworzenie nowej kolekcji
[1, 4, 9, 16]
Instrukcja warunkowa
Instrukcja warunkowa =>
ifInstrukcja warunkowa
if [zapytanie warunkowe]: wykonaj_instrukcje_jeżeli_True
Instrukcja warunkowa
if [zapytanie warunkowe]: wykonaj_instrukcje_jeżeli_True
if [zapytanie warunkowe]: wykonaj_instrukcje_jeżeli_True else: wykonaj_instrukcje_jeżeli_False
Instrukcja warunkowa
if x > 0:
print('Liczba jest dodatnia')ifInstrukcja warunkowa
if x > 0:
print('Liczba jest dodatnia')
else:
print('Liczba jest ujemna')if x > 0:
print('Liczba jest dodatnia')ifif
elseInstrukcja warunkowa
if x > 0:
print('Liczba jest dodatnia')if x > 0:
print('Liczba jest dodatnia')
else:
print('Liczba jest ujemna')if x > 0:
print('Liczba jest dodatnia')
elif x == 0:
print('Zero')
else:
print('Liczba jest ujemna')ifif
elseif
elif
elsePrzetwarzanie obrazów
Obraz
Obraz - bitmapa

Obraz - piksel

Obraz - RGB
R
G
B
0-255
0-255
0-255
Obraz - RGB

50
91
113






Dziękuje za uwagę
bogna.zacny@uekat.pl
Meritum_python_2425
By Bogna Zacny
Meritum_python_2425
- 124