python dla początkującychmpapiez/warsztaty/python_podstawy.pdf · 2017. 11. 14. · • python...
TRANSCRIPT
-
Małgorzata NiewiemAGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej
SATIM Satelitarny Monitoring
Python dla początkujących
-
Stworzony w latach 90 przez Guido van Rossum
Nazwa pochodzi od serialu komediowego „Latający cyrk Monthy Pythona”
Wstęp
-
• Język skryptowy
• Język interpretowano - kompilowany
• W pełni obiektowy
• Rozprowadzany jest na otwartej licencji
• Umożliwia programowanie na różnych systemach operacyjnych
• Możliwe jest napisanie fragmentów kodu w C, C++
• Automatyczne zarządzanie pamięcią
• Dynamiczne typowanie – nie ma deklarowania zmiennych ani typów
Wstęp
-
• Tworzenie dynamicznych stron internetowych
• Usługi i serwisy społecznościowe
• Aplikacje desktopowe
• W zastosowaniach naukowych, czy finansowych
• Gry i aplikacje wykorzystujące 3D
Do czego można użyć Pythona ?
-
Jak zacząć ?
skąd wziąd Pythona?
czyli ...
•Jest już zainstalowany razem z ArcGISem
•Jest już zainstalowany razem z QGISem
•Można zainstalowad samemu
•Można skorzystad z internetowych interpreterów
-
Wersja on-line
• http://www.tutorialspoint.com/execute_python_online.php
• http://www.skulpt.org/
• https://repl.it/
http://www.tutorialspoint.com/execute_python_online.phphttp://www.tutorialspoint.com/execute_python_online.phphttp://www.tutorialspoint.com/execute_python_online.phphttp://www.skulpt.org/http://www.skulpt.org/http://www.skulpt.org/https://repl.it/https://repl.it/https://repl.it/
-
Wersja on-line
-
Samodzielna instalacja
-
Mamy go!
Ale co teraz ?
Jak go uruchomid ?
-
Konsola
-
IDE
IDE – Integrated Development Environment – zintegrowane środowisko programistyczne
-
Anaconda
Pakiet zawierający Pythona z ponad 150 bibliotekami. Zawiera również darmowe IDE – Spyder.
-
Okno edytoraKonsola
Inspektor obiektów
Spyder
-
Pierwszy program
Linia zaczynająca się znakiem #to komentarz.
Jest on ignorowany przez komputer
-
Jak to działa?
plik.py plik.pyc PVM
Kod źródłowy
BajtkodWirtualna maszyna
-
„GisDay” „2017” „UR” „Kraków”
nazwa rok organizator miejsce
Referencje
Obiekty
Zmienne
W sensie technicznym zmienna jest wskaźnikiem na adres w pamięci gdzie jest przechowywany obiekt.
Zmienne
-
nazwa = ”GisDay”
nazwa = 100
„GisDay” 100
nazwa
Referencje
Obiekty
Zmienne
Typ jest związany z obiektem, a nie ze zmienną.
Zmienne – co się stanie z GisDay?
-
„GisDay”
nazwa
Referencje
Obiekty
Zmienne
Nie tworzymy nowego obiektu tylko nową referencję
projekt
Zmienne – referencje współdzielone
nazwa = ”GisDay”
projekt = ”GisDay”
-
Nie powinny zaczynad się od liczb
Powinny zawierad tylko litery, liczby i podkreślenie (_)
Nie powinny zawierad słów kluczowych
Python rozróżnia małe i duże litery
mojaZmienna != MojaZmienna
Zmienne – nazwy
-
1234
35L
1.234
int
long
float
bool
str
lista
słownik(dict)
krotka(tuple)True False
‘’GisDay 2017”
lista = ,‘GisDay’, ‘2017’, ‘Kraków’, ‘UR’-
slownik =,‘Wydarzenie’ : ‘GisDay’, ‘Miejsce’ : ‘Kraków’ -
krotka = (2017, ‘GisDay’, 10, ‘Kraków’)
Typy zmiennych
-
Podstawowe operacje:
+ - * / % **
Operatory porównania:
= < > !=
Typy liczbowe
1234 35L1.234int longfloat
-
Dlaczego operacja zwraca zero ?
Typy liczbowe przykład 1
Co oznacza znak % ?
-
Typy liczbowe przykład 2
Która operacja zwróci 0 a która 0.4 ? Dlaczego ?
-
Typy liczbowe przykład 3
Importowanie dodatkowej biblioteki
-
‘’ G i s D a y 2 0 1 7 ”
0 1 2 7 10
Łaocuchy = napisy = ciągi znaków
-
Łaocuchy przykład 1
Co zwróci operacja ?
-
Łaocuchy przykład 2
Co zwróci a*11+ ? Dlaczego ?
Który to indeks ?
-
Łaocuchy przykład 3
Wynik jest listą
Co oznacza zwrócona liczba ?
-
mojaLista = *‘GisDay’, ‘Kraków’, ‘2017’+
Typy złożone - listy
mojaLista
-
[0]
Typy złożone - listy
GisDay
mojaLista
-
[0]
[1]
Typy złożone - listy
GisDay
Kraków
mojaLista
-
[0]
[1]
[2]
Typy złożone - listy
GisDay
Kraków
2017
mojaLista
-
Listy – przykład 1
Ile elementów zwróci operacja ?
Gdzie dodany zostanie element ?
-
if warunek:blok instrukcji
elif warunek:blok instrukcji
else:blok instrukcji
W instrukcji warunkowej występuje:dokładnie jedna fraza if,dowolnie wiele fraz elif,
co najwyżej jedna fraza else.
Instrukcje warunkowe
== jest równe!= nie jest równe< > mniejsze, większe niż
Wcięcia poprzedzają instrukcję.Struktura blokowa jest elementem składni Pythona
-
Instrukcje warunkowe przykład 1
Co jest odpowiedzialne za kodowanie polskich znaków
Pobieranie wartości od użytkownika
Zwrócona wartośd jest typu string
-
Instrukcje iteracji
for wartość in lista:blok instrukcji
Powtarzamy czynnośd tyle razy, ile elementów ma ten zbiór czy też ciąg
-
Instrukcje iteracji przykład 1
range () - zwraca listę składającą się z kolejnych liczb całkowitych
przedział
-
Instrukcje iteracji przykład 2
Jakie wartości będą w liście po skooczeniu pętli ?
-
Praca na plikach
• Python posiada wbudowana funkcję open służącą do otwierania plików z dysku.
• Open zwraca obiekt pliku, dzięki któremu możemy się dostad do pliku i wykonywad na nim operacje.
• Zawartośd pliku traktujemy jako łaocuchy znaków.
Plik = open(”Nazwa_pliku”, ”tryb”)
Nazwa pliku jest wymagana
r – odczytw – zapisa – dodawanie danychr+ - czytanie i pisanie
Opcjonalny argument, w przypadku jego braku plik zostanie otwarty w trybie ”r”
-
Praca na plikach –zapis i odczyt
Jeśli nie znajdzie pliku o tej nazwie tworzy nowy
Tryb do odczytu jest domyślny
-
Praca na plikach –zapis i odczyt
-
Funkcje
def witaj(kto):print 'Witaj %s na warsztatach Pythona!' %(kto)
witaj("Jan")
Funkcja to częśd programu wielokrotnego użytku. Pozwala uruchamiad blok dowolną ilośd razy, używając zadeklarowanej do niego nazwy.
Ciało funkcji
Słowo kluczoweNazwa funkcji
Parametry funkcji
Wywołanie funkcji
-
Funkcje –argumenty wejściowe
Funkcja może:• przyjmowad argumenty wejściowe• zwracad wartości
-
Napisz program, który wczyta od użytkownika pewien napis, a następnie wyświetli 20 kopii tego napisu, każda w
osobnej linii.
Zadanie 1
-
Napisz program, który obliczy pole trójkąta, pod warunkiem że użytkownik poda wysokośd i długośd podstawy tego
trójkąta.
Uwzględnij, że wysokośd i długośd podstawy mogą byd liczbami
niecałkowitymi.
Zadanie 2
-
Napisz program, który wczyta od użytkownika liczbę całkowitą i wyświetli informację, czy jest
to liczba parzysta, czy nieparzysta.
Zadanie 3
-
Napisz program, który wczyta od użytkownika napis a następnie wypiszę
znaki tego napisu w kolejności odwrotnej.
Zadanie 4
-
Napisz program, który wypisuje liczby od 1 do 100.
• Dla wielokrotności trójki wyświetl "Fizz" zamiast liczby.
• Dla wielokrotności piątki wyświetl "Buzz.
• Dla liczb będących wielokrotnościami trójki oraz piątki wyświetl "FizzBuzz"
Zadanie 5
-
Napisz funkcję, która pyta użytkownika o dwie liczby i wypisuje czy są one
równe a jeśli nie to wypisuje różnicę między nimi.
Zadanie 6
-
Zadanie 7
Napisz program, który pyta o wiek i w zależności od podanej wartości, wypisuje czy ktoś jest
pełnoletni czy nie. Dodatkowo program powinien wypisywad:• dla osoby pełnoletniej od ilu lat jest
pełnoletnia• dla osoby niepełnoletniej, ile lat brakuje do
pełnoletności
-
Dziękuje