Python dla początkującychmpapiez/warsztaty/Python_podstawy.pdf · 2017. 11. 14. · • Python...

51
Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring Python dla początkujących

Transcript of Python dla początkującychmpapiez/warsztaty/Python_podstawy.pdf · 2017. 11. 14. · • Python...

  • 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