Podstawy. Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS Informatyka Stosowana



Podobne dokumenty
Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Przykładowy plik pdf do testowania załączników

Podstawy Programowania Podstawowa składnia języka C++

Zaawansowany kurs języka Python

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Python wstęp do programowania dla użytkowników WCSS

Zasady przygotowania referatu, artykułu, publikacji

Księga znaku Swiss Contribution

Kurs rozszerzony języka Python

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Algorytmy i struktury danych

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

Księga znaku. Copyright MARR S.A. - Małopolska Agencja Rozwoju Regionalnego S.A. All rights reserved

byś cieszył się zielenią

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

POKAZUJEMY UCZYMY ZASPAKAJAMY POTRZEBĘ POZNANIA

Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Python. Wprowadzenie. Jolanta Bachan

Język ludzki kod maszynowy

Programowanie obiektowe

Operatory cd. Relacyjne: ==!= < > <= >= bool b; int i =10, j =20; dzielenie całkowitych wynik jest całkowity! Łączenie tekstu: + string s = "Ala ma ";

Programowanie strukturalne i obiektowe

Podstawy programowania w Pythonie

Serwer WWW Apache. Plik konfiguracyjny httpd.conf Definiujemy m.in.: Aktualne wersje 2.4.6, , zakończony projekt

Algorytmika i Programowanie VBA 1 - podstawy

Programowanie robota mobilnego E-puck w języku Python

METROPOLITALNE FORUM WÓJTÓW, BURMISTRZÓW, PREZYDENTÓW I STAROSTÓW

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

WYMOGI REDAKCYJNE PUBLIKACJI

PROGRAMOWANIE W JĘZYKU PYTHON

Programowanie - instrukcje sterujące

Porównanie efektywności algorytmu ewolucyjnego z metodą podziału i ograniczeń dla problemu komiwojażera

Programowanie obiektowe

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

IDENTYFIKACJA WIZUALNA

Microsoft IT Academy kurs programowania

Przegląd języka Python. Łukasz Anwajler

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Cw.12 JAVAScript w dokumentach HTML

struktura i funkcja białka seminarium M.Eng. Michal Adam Michalowski

Języki skryptowe w programie Plans

Właściwości i metody obiektu Comment Właściwości

Michał Bielecki, KNI 'BIOS'

KSIĘGA IDENTYFIKACJI WIZUALNEJ NFOŚiGW. Cz. 3 PODRĘCZNIK STOSOWANIA OZNACZEŃ Z UŻYCIEM LOGOTYPU NFOŚIGW DLA PODMIOTÓW ZEWNĘTRZNYCH

Środowisko programisty

64 BGK BAZOWA KSIĘGA MARKI NOŚNIKI IDENTYFIKACJI

Kiedy i czy konieczne?

JAVA. Platforma JSE: Środowiska programistyczne dla języka Java. Wstęp do programowania w języku obiektowym. Opracował: Andrzej Nowak

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Rysunki i tabele. Spis tre±ci. 1 Zadania na wykorzystanie pakietu sidecap. Bo»ena Wo¹na Szcze±niak. 22 listopada 2014

Zajęcia nr 1 Podstawy programowania. dr inż. Łukasz Graczykowski mgr inż. Leszek Kosarzewski Wydział Fizyki Politechniki Warszawskiej

BUDOWA LOGO. logo. sygnet. logotyp. PE NE LOGO - sk³ada siê z dwóch elementów ustawionych poziomo wzglêdem siebie (sygnet, logotyp).

Podstawy programowania. Wykład: 4. Instrukcje sterujące, operatory. dr Artur Bartoszewski -Podstawy programowania, sem 1 - WYKŁAD

Akademia Ignatianum w Krakowie

Podstawowe części projektu w Javie

KOTLIN. Język programowania dla Androida

4. Materiały reklamowe

Język Python. Język Python 1/35

Podstawy programowania w języku C

Podstawy programowania skrót z wykładów:

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wykresy i interfejsy użytkownika

Python! Lekcja 1 podstawy języka, typy danych

Podstawy języka C++ Maciej Trzebiński. Praktyki studenckie na LHC IFJ PAN. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. M. Trzebiński C++ 1/16

Koło Studentów Informatyki Uniwersytetu Wrocławskiego

ALFABETYCZNY SPIS MAREK WĘDKARSKICH

Bazy Danych i Usługi Sieciowe

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Informacja o języku. Osadzanie skryptów. Instrukcje, komentarze, zmienne, typy, stałe. Operatory. Struktury kontrolne. Tablice.

ECDL Podstawy programowania Sylabus - wersja 1.0

Pytania dla języka Python

Swift (pol. jerzyk) nowy język programowania zaprezentowany latem 2014 r. (prace od 2010 r.)

1 Podstawy c++ w pigułce.

Odczyt danych z klawiatury Operatory w Javie

Część 4 życie programu

Podstawy języka C++ Maciej Trzebiński. Instytut Fizyki Jądrowej Polskiej Akademii Nauk. Praktyki studenckie na LHC IVedycja,2016r.

Informatyka I. Wykład 3. Sterowanie wykonaniem programu. Instrukcje warunkowe Instrukcje pętli. Dr inż. Andrzej Czerepicki

Podstawy programowania w Pythonie

MATERIAŁY DO ZAJĘĆ II

afisze, plakat, billboardy afisze plakat billboardy ogłoszenia prasowe ogłoszenie prasowe pionowe ogłoszenie prasowe poziome

Algorytmy i struktury danych

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 5 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 41

Języki i metodyka programowania. Typy, operatory, wyrażenia. Wejście i wyjście.

rozdział 4: ZMIENNE I INSTRUKCJE

Instrukcje sterujące. Programowanie Proceduralne 1

1 Podstawy c++ w pigułce.

Wstęp do programowania

Wstęp do programowania

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Artykuł branżowy (opcja bezpłatna)

Podstawy programowania w Pythonie

Języki C i C++ Wykład: 2. Wstęp Instrukcje sterujące. dr Artur Bartoszewski - Języki C i C++, sem. 1I- WYKŁAD

BRAND BOOK. Ośrodek Rehabilitacji Jeży Jerzy dla Jeży w Kłodzku

SWIFT. Zaawansowane Programowanie Obiektowe

Transkrypt:

Podstawy 1

Plan prezentacji Garść informacji Komentarze Stringi Wbudowane typy liczbowe Konstrukcja print Pobieranie danych Konstrukcja if Konstrukcja if else Konstrukcja if elif else Pętla while Pętla while else Sekwencyjne typy danych Zmienne Pętla for else instrukcje: continue, break i pass Działania Operatory porównań Pętla for Systemy liczbowe Stringi Krotki Listy Słowniki Zbiory For dla sekwencyjnych typów danych Odczyt pliku na przykładzie funkcji for Funkcje Klasy Wyjątki Importowanie modułów 2

Paradygmaty Python wspiera opiera się na trzech paradygmatach Strukturalnym Obiektowym Funkcjonalnym 3

Prosta i czytelna składnia Elegancja kodu przez wymuszenie stosowania wcięć def factorial(value): if value == 0: return 1 else: return value * factorial(value - 1) 4

Dostępne tryby Batch mode python moj_program.py Interactive mode $ python >>> 2 + 2 4 >>> 'Ala ma kota' 'Ala ma kota' >>> quit() $ 5

Komentarze # Do końca linii 6

Stringi String jednolinijkowy z użyciem apostrofów 'Jednolinijkowy' String jednolinijkowy z użyciem cudzysłowia Jednolinjkowy String wielolinijkowy Wielo- -linijkowy 7

Wbudowane typy liczbowe Liczby całkowite int -13, 7776 konwersja: int(liczba) Duże liczby całkowite long 99999999999999999L, -777777777777777l konwersja: long(liczba) Liczby zmiennoprzecinkowe float 12.3, 0.5 konwersja: float(liczba) Liczby zespolone complex 3 + 2j konwersja: complex(liczba) 8

Systemy liczbowe Ósemkowy poprzedzamy 0 07776, 017140 konwersja: oct(0x7776), oct(7776) Dziesiętny domyślny przykład: 7776, 10000 konwersja: int(07776), int(0x7776) Hexadecymalny poprzedzamy 0x przykład: 0x7776, 0x1e60 konwersja: hex(07776), hex(7776) 9

Wbudowana działania języka + dodawanie - odejmowanie * mnożenie / dzielenie % reszta z dzielenia (modulo) ** podnoszenie do potęgi // podłoga z dzielenia 10

Zmienne Automatycznie określany typ liczba = 76 ocena = 5.5 wydzial = 'FtiMS' 11

Wypisywanie wyników print Napis # Napis\n print 'Jan' + 'Kowalski' # JanKowalski\n print 'Jan' Kowalski # JanKowalski\n print ocena # 5.5\n print liczba # 76\n print wydzial # FTiMS\n print # \n 12

Wypisywanie wyników print Wydzial: + wydzial + \n \ + Ocena: + str(ocena) + \n \ + Album: + str(liczba) + \n Wydzial: FtiMS Ocena 5.5 Album: 76 13

Pobieranie danych Jako tekst: liczba = raw_input('podaj liczbę: ') Jako liczbę: liczba = input('podaj liczbę: ') 14

Operatory porównań Operator mniejszości Operator równości 1 < 2 # True 7 == 7.0 # True Operator większości Operator nierówności 77 > 66 # True 6!= 7 # True Mniejsze lub równe Operator identyczność 17 <= 17 # True 7 is 7.0 # False Większe lub równe Operator zaprzeczenia 37 >= 36 # True not False # True 15

Struktura if if liczba == 2: print Nie zdałeś! 16

Struktura if - else if liczba == 2: print Nie zdałeś! else: print Zdałeś! 17

Struktura if elif - else if liczba == 2: print Nie zdałeś! elif liczba < 0: print Mniej niż zeroooo, mniej niż zeroooo! else: print Zdałeś! 18

Struktura if elif - else W warunkach możemy używać not zaprzeczenie (negacja) if not czy_zalogowany: and iloczyn logiczny (koniunkcja) if zalogowany and admin: or suma logiczna (alternatywa) if moderator or administrator: 19

Struktura switch 20

Klauzula else Klauzula else występuje w niemalże każdej instrukcji blokowej wspieranej przez Pythona. Między innymi w: if, for, while, try Wykonuje się ona gdy warunek jest, po raz pierwszy, nie spełniony 21

Pętla while i=0 0 while i < 10: 2 print i i = i +1 1 3 4 5 6 7 8 9 22

Pętla while - else i=0 0 while i < 10: 2 print i i = i +1 else: print 'else' 1 3 4 5 6 7 8 9 else http://docs.python.org/reference/compound_stmts.html#the-while-statement 23

Pętla for Generowanie zakresu range (start, stop, krok) xrange (start, stop, krok) # oszczędność pamięci! krok domyślnie 1 http://docs.python.org/library/functions.html#range http://docs.python.org/library/functions.html#xrange 24

Pętla for for i in range(0, 10): print i 0 1 2 3 4 5 6 7 8 9 25

Pętla for - else for i in range(0, 10): print i else: print 'else' 0 1 2 3 4 5 6 7 8 9 else http://docs.python.org/reference/compound_stmts.html#the-for-statement 26

continue i break, pass Przeskocz do następnego cyklu pętli continue Przerwij aktualnie wykonywaną pętlę break Instrukcja pusta pass 27

Typy sekwencyjne Stringi Krotki Listy Słowniki Zbiory 28

Stringi napis = Napisy na murach kłamią len(napis) napis[1] napis[7] napis[-1] napis[10:16] napis[10:-1] 24 a n ą murach murach kłamią http://docs.python.org/tutorial/introduction.html#strings 29

Krotki - niezmienne krotka = (1, 'dwa', 3.3) len(krotka) 3 krotka[1] dwa krotka[-1] 3.3 krotka[0:1] (1,) krotka[0:-1] (1, 'dwa') http://docs.python.org/tutorial/datastructures.html#tuples-and-sequences 30

Listy - zmienne lista = [1, 'dwa', 3.3] len[lista] 3 lista[1] dwa lista[-1] 3.3 lista[0:1] [1,] lista[0:-1] [1, 'dwa'] 31

Listy - zmienne lista = [1, 'dwa', 3.3] lista[0] = 'jeden' ['jeden', 'dwa', 3.3] lista[1:3] = [2, 'trzy'] ['jeden', 2, 'trzy'] del(lista[0]) [2,'trzy'] lista[2] = 5 [2,'trzy', 5] http://docs.python.org/tutorial/introduction.html#lists 32

Słowniki - zmienne slownik = {'imie': Kubuś, 'wiek': 1.5} len(slownik) 2 slownik['imie'] Kubuś slownik['wiek'] 1.5 slownik['pierwsze_slowo'] = 'Mama' {'imie': Kubuś, ''pierwsze_slowo': 'Mama', 'wiek': 1.5 } del(slownik['wiek']) {'imie': Kubuś, 'pierwsze_slowo': 'Mama'} slownik['roczek'] = 'drugi' {'imie': Kubuś, 'pierwsze_slowo': 'Mama', 'roczek': ;drugi'} http://docs.python.org/tutorial/datastructures.html#dictionaries 33

Zbiory schronisko1 = set(['kot', 'pies', 'krowa', 'kura']) schronisko2 = frozenset(['kot', 'pies', 'szop', 'pluszowy miś']) len(schronisko2) 4 schronisko1 & schronisko2 set(['kot', 'pies']) schronisko1 schronisko2 set(['szop', 'pies', 'kura', 'krowa', 'pluszowy miś', 'kot']) schronisko1 schronisko2 set(['krowa, 'kura']) schronisko1 ^ schronisko 2 set(['szop', 'kura, 'krowa', 'pluszowy miś']) schronisko1 >= set(['kot', 'pies']) True schronisko2 <= set(['kot', 'pies']) False 'krowa' in schronisko2 False http://docs.python.org/tutorial/datastructures.html#sets 34

Pętla for - napisy napis = Napisy na murach kłamią N a a for litera in napis: print litera p i s y n a m u r a c h k ł a m i ą 35

Pętla for - krotki krotka = (1, 'dwa', 3.3) 1 for element in krotka: 'dwa' print element 3.3 36

Pętla for - krotki krotka = (1, 'dwa', 3.3) 0: 1 for nr, element in enumerate(krotka): 1: dwa print str(nr) + ': ' + str(element) 2: 3.3 37

Pętla for - listy lista = [1, 'dwa', 3.3] 1 for element in lista: 'dwa' print element 3.3 38

Pętla for - listy lista = [1, 'dwa', 3.3] 0: 1 for nr, element in enumerate(lista): 1: dwa print str(nr) + ': ' + str(element) 2: 3.3 39

Pętla for - słowniki slownik = {'imie': Kubuś, 'wiek': 1.5} imie: Kubuś for klucz, wartosc in slownik: wiek: 1.5 print str(klucz) + ': ' + str(wartosc) 40

Pętla for - słowniki slownik = {'imie': Kubuś, 'wiek': 1.5} imie: Kubuś for klucz, wartosc in slownik: wiek: 1.5 print str(klucz) + ': ' + str(wartosc) kopie dostęp do elementów keys() iterkeys() values() itervalues() items() iteritems() 41

Pętla for - słowniki slownik = {'imie': Kubuś, 'wiek': 1.5} imie: Kubuś for klucz, wartosc in slownik: wiek: 1.5 print str(klucz) + ': ' + str(wartosc) 42

Pętla for - słowniki slownik = {'imie': Kubuś, 'wiek': 1.5} imie: Kubuś for klucz, wartosc in slownik.iteritems(): wiek: 1.5 print str(klucz) + ': ' + str(wartosc) 43

Pętla for - zbiory schronisko = set(['krowa', 'kot', 'kura', 'pies']) for zwierzak in schronisko: print zwierzak krowa kot kura pies 44

Pętla for pliki plik = open('./loremipsum.txt', 'r') for linijka in plik: print linijka Lorem ipsum dolor sit amet, consectetuer adipiscing elit. Nunc rutrum nunc congue mi. Sed rhoncus felis at augue. Praesent ultrices vestibulum libero. Ut quis lectus. Fusce in sapien. Etiam quis enim. Proin scelerisque tincidunt orci. Quisque molestie condimentum arcu. Vivamus odio. Etiam eu enim. http://docs.python.org/tutorial/datastructures.html#looping-techniques 45

Definiowanie funkcji Funkcji używamy z użyciem słowa kluczowego def def szescian(x): return x*x*x szescian(2) # 8 szescian(3) # 27 szescian(10) # 1000 szescian(777) # 469097433 http://docs.python.org/tutorial/controlflow.html#defining-functions 46

Definiowanie klasy Klasę definiujemy z użyciem słowa class Każda klasa dziedziczy po object class MojaKlasa(object): pass http://docs.python.org/tutorial/controlflow.html#defining-functions 47

Pola klasy Domyślnie wszystkie pola klas są publiczne class Student(object): pass studentka1 = Student() studentka1.imie = 'Małgorzata' studentka1.nazwisko = 'Noybauer' 48

Pola klasy Pola klasy definiujemy w konstruktorze metodzie init () class Student(object): def init (self): self.imie = '' studentka1 = Student() studentka1.imie = 'Małgorzata' studentka1.nazwisko = 'Noybauer' 49

Metody klas Każda metoda jako pierwszy parametr przyjmuje obiekt, do którego należy - self class Student(object): def inicjaly(self): return self.imie[0] +. + self.nazwisko[0] +. stud = Student() stud.imie = 'Ruzia' stud.nazwisko = 'Kowalska' print stud.inicjaly() R.K. 50

Wyjątki Błędy w języku komunikowane są przez zgłaszane wyjątki. Tak na przykład gdy próbujemy wyświetlić coś co nie istnieje slownik = {'novum': 'aula'} try: print slownik['nowy'] except KeyError: print 'Error. Klucz nowy nie istnieje' return -1 51

Importowanie z innych bibliotek Do ładowania innych bibliotek służy słowo kluczowe import. Po zaimportowaniu modułu wszystkie funkcje zawarte są w przestrzeni nazw o tej samej nazwie. import math math.sqrt(4) math.log10(1000) math.sin(math.pi) http://docs.python.org/tutorial/modules.html#importing-from-a-package 52