Python! Lekcja 1 podstawy języka, typy danych

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

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ ]

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

Listy, krotki, słowniki, funkcje

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Koło Studentów Informatyki Uniwersytetu Wrocławskiego

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

Podstawy. Jan Koprowski Politechnika Gdańska, FTiMS Informatyka Stosowana

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

Podstawy programowania. 1. Operacje arytmetyczne Operacja arytmetyczna jest opisywana za pomocą znaku operacji i jednego lub dwóch wyrażeń.

Programowanie. programowania. Klasa 3 Lekcja 9 PASCAL & C++

Dariusz Brzeziński. Politechnika Poznańska, Instytut Informatyki

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

Typy danych, cd. Łańcuchy znaków

Przegląd języka Python. Łukasz Anwajler

Programowanie obiektowe

Autor: Daria Ratyńska Prezentacja na licencji CC BY-SA 3.0 PL

Wykład 1. Projektowanie efektywnych algorytmów przetwarzania danych w sieciowych systemach usług, rzeczy i multimediów.

Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie

Obliczenia, zmienne. Proste działania, zmienne, rodzaje zmiennych, proste operacje i działania na zmiennych.

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Programowanie obiektowe

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

ZMIENNE. Podstawy PHP

Lista, Stos, Kolejka, Tablica Asocjacyjna

Kurs programowania. Wstęp - wykład 0. Wojciech Macyna. 22 lutego 2016

Algorytmy i struktury danych

Wstęp do programowania INP003203L rok akademicki 2018/19 semestr zimowy. Laboratorium 4. Karol Tarnowski A-1 p.

Wstęp do programowania

JAVA. Java jest wszechstronnym językiem programowania, zorientowanym. apletów oraz samodzielnych aplikacji.

Kurs rozszerzony języka Python

Podstawy programowania w Pythonie

Python. Wprowadzenie. Jolanta Bachan

Kurs rozszerzony języka Python

Algorytmy i struktury danych. wykład 1

Programowanie obiektowe

Wstęp do informatyki. Python 1

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

do drukowania tekstu służy funkcja echo <?php echo "hello world!";?> jeżeli użyjemy jej kilka razy: <?php

C++ wprowadzanie zmiennych

Wstęp do ruby dla programistów javy

dr inż. Piotr Czapiewski Tworzenie aplikacji w języku Java Laboratorium 1

WSTĘP DO INFORMATYKI. Struktury liniowe

Microsoft IT Academy kurs programowania

JAVA W SUPER EXPRESOWEJ PIGUŁCE

Technologie i usługi internetowe cz. 2

Programowanie C++ Wykład 2 - podstawy języka C++ dr inż. Jakub Możaryn. Warszawa, Instytut Automatyki i Robotyki

Przeciążanie operatorów

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

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

Podstawy Programowania Obiektowego

Programowanie obiektowe

Wprowadzenie do języka Java

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

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

BAZY DANYCH. Obsługa bazy z poziomu języka PHP. opracowanie: Michał Lech

Podstawy Programowania.

Specyfikacja API 1.0. Specyfikacja kontroli Konta systemu CashBill z wykorzystaniem API opartego na REST

Bazy Danych i Usługi Sieciowe

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

Programowanie C# mgr in. Dariusz Ku. p. 119A

Wiadomości wstępne Środowisko programistyczne Najważniejsze różnice C/C++ vs Java

Odczyt danych z klawiatury Operatory w Javie

Programowanie i projektowanie obiektowe

PROGRAMOWANIE W JĘZYKU PYTHON

Programowanie i projektowanie obiektowe

Podstawy Programowania

Operatory logiczne. Podstawowe operatory logiczne, składanie wyrażeń z użyciem operatorów logicznych

Wprowadzenie do Objective-C

KOTLIN. Język programowania dla Androida

STL: Lekcja 1&2. Filozofia STL

PROGRAMOWANIE W ŚRODOWISKU FLASH wykład 2

MATERIAŁY DO ZAJĘĆ II

Programowanie w C++ Wykład 5. Katarzyna Grzelak. 16 kwietnia K.Grzelak (Wykład 1) Programowanie w C++ 1 / 27

Podstawy Informatyki sem. I 2014/2015 studia zaoczne Elektronika i Telekomunikacja!

Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan

Programowanie obiektowe, wykład nr 6. Klasy i obiekty

Dziedziczenie. Tomasz Borzyszkowski

Dawid Gierszewski Adam Hanasko

Podstawy bioinformatyki 2017/18

Co jeszcze mogą nam dać adnotacje? Adam Warski

Wykład I. Programowanie. dr inż. Janusz Słupik. Gliwice, Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik

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

Wstęp do programowania obiektowego. WYKŁAD 3 Dziedziczenie Pola i funkcje statyczne Funkcje zaprzyjaźnione, this

Współczesne Narzędzia Obliczeniowe - Python

2 Przygotował: mgr inż. Maciej Lasota

Bazy danych - wykład wstępny

Język ludzki kod maszynowy

Zmienne, stałe i operatory

SWIFT. Zaawansowane Programowanie Obiektowe

Podstawy i języki programowania

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

java.util.* :Kolekcje Tomasz Borzyszkowski

Pierwsze kroki. Algorytmy, niektóre zasady programowania, kompilacja, pierwszy program i jego struktura

Obiektowy Caml. Paweł Boguszewski

Programowanie obiektowe - 1.

Dr Michał Tanaś(

Transkrypt:

Python! Lekcja 1 podstawy języka, typy danych 1

Plan Python z czym jeść? Python jako język OO Python 2 czy 3 Typy danych: liczby int, float, bool (!) Typy danych: sekwencje stringi, krotki, listy Typy danych: słowniki (tablice asocjacyjne) 2

Python z czym jeść Dokumentacja (RTFM) Interpreter Python przerabia napisany program na kod maszynowy. pip manager pakietów/modułów Python Implementacje na każde podniebienie: CPython, IronPython, Jython, PyPy 3

Python jako język OO OO = object-oriented Obiekt = pola + metody Wszystko w Pythonie jest obiektem. Wszystko. Cechy typowe dla OO: Dziedziczenie Polimorfizm Abstrakcja Hermetyzacja W skrócie: str = to ZŁY pomysł 4

Python 2 czy 3 Python 3! Python 2 jest nierozwijany brak nowych rozwiązań, bugfixy do 2020 (PEP 373) Python 2 wciąż popularny w produkcji stare systemy, stare repozytoria, dużo bibliotek 5

Python 2 czy 3 Python 2 >>> print "Hello World!" Hello World! >>> type(input('gib num: ')) gib num: 12 <type 'int'> >>> 1/2 0 >>> 1//2 0 Python 3 >>> print("hello World!") Hello World! >>> type(input('gib num: ')) gib num: 12 <class 'str'> >>> 1/2 0.5 >>> 1//2 0 https://wiki.python.org/moin/python3.0 http://sebastianraschka.com/articles/2014_python_2_3_key_diff.html 6

Typy danych: liczby int, float, bool (!) int liczby całkowite float liczby zmiennoprzecinkowe (ułamki!) bool typ logiczny True/False + dodawanie - odejmowanie * mnożenie ** potęgowanie / dzielenie // dzielenie z podłogą (serio) % modulo 7

Typy danych: liczby int, float, bool (!) + dodawanie >>> 1 + 1 2 >>> 0.5 + 0.5 1.0 >>> True + True 2 8

Typy danych: liczby int, float, bool (!) - odejmowanie >>> 2-1 1 >>> 1-0.5 0.5 >>> False - True -1 9

Typy danych: liczby int, float, bool (!) // dzielenie z podłogą >>> 1 // 2 0 >>> 6 // 3 2 >>> 1.5 // 3 0.0 >>> 2.5 // 3 0.0 10

Typy danych: liczby int, float, bool (!) % modulo >>> 2 % 4 2 >>> 4 % 2 0 >>> 2 % 0.5 0.0 >>> 2 % 0.4 0.3999999999999999 11

Typy danych: sekwencje stringi, krotki, listy stringi ciągi znaków listy uporządkowany zestaw danych (zmienne) krotki uporządkowany zestaw danych (niezmienne) Listy mogą być edytowane po utworzeniu, krotki nie. 12

Typy danych: sekwencje stringi, krotki, listy String List >>> "hello"+"world" 'helloworld' >>> "hello"*3 'hellohellohello' >>> "hello"[0] 'h' >>> "hello"[-1] 'o' >>> "hello"[1:4] 'ell' >>> len("hello") 5 To samo, plus: del list[index] list.append(obj) list.count(obj) list.extend(seq) list.index(obj) list.insert(index, obj) list.pop(index) <- usuwa i zwraca list.remove(obj) list.reverse() list.sort([func]) 13

Typy danych: sekwencje stringi, krotki, listy Krotki prawie jak listy, ale po utworzeniu nie mogą być zmienione stąd brak metod Dostęp do danych analogicznie do listy i stringów. Typowe operacje: cmp(tuple1, tuple2) len(tuple) max(tuple) min(tuple) tuple(seq) 14

Typy danych: słowniki (aka tablice asocjacyjne) Dane w postaci klucz: wartość Klucze niekoniecznie w kolejności alfabetycznej, bo haszowanie Klucze muszą być niezmienne (immutable), bo haszowanie 15

Typy danych: słowniki (aka tablice asocjacyjne) >>> dict = {'key':'value', 'key1':'value1'} >>> dict['key'] 'value >>> del dict['key'] >>> dict.clear() +inne, nudne funkcje 16

Python 2 czy 3 cd. Python 2 Python 3 >>> dict = {} >>> dict.iteritems() <dictionary-itemiterator object at 0x027D9300> >>> dict.iterkeys() <dictionary-keyiterator object at 0x02961090> >>> dict.itervalues() <dictionary-valueiterator object at 0x027D9300> >>> dict = {} >>> dict.items() dict_items(list) >>> dict.keys() dict_keys(list) >>> dict.values() dict_values(list) Metody z wersji 3 zostały przeniesione do 2, więc śmiało można używać ;) Uwaga: w starszych wersjach może nie działać! https://wiki.python.org/moin/python3.0 http://sebastianraschka.com/articles/2014_python_2_3_key_diff.html 17

Bonus: mutable vs immutable mutable list dict immutable int float tuple A string? https://wiki.python.org/moin/python3.0 http://sebastianraschka.com/articles/2014_python_2_3_key_diff.html 18

Python koniec lekcji 1 Dziękuję za uwagę! 19