Przegląd języka Python. Łukasz Anwajler

Podobne dokumenty
Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Kurs rozszerzony języka Python

Zaawansowany kurs języka Python

Koło Studentów Informatyki Uniwersytetu Wrocławskiego

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

Podstawy programowania w Pythonie

Wstęp do programowania

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

KOTLIN. Język programowania dla Androida

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Microsoft IT Academy kurs programowania

Programowanie w Ruby

Programowanie obiektowe

Programowanie obiektowe

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Wstęp do programowania

Algorytmy i struktury danych

Redis, skrypty w języku Lua

Metody numeryczne. Artur Wymysłowski, prof. PWr. Wrocław

Kurs języka Python. Wykład 14. Marcin Młotkowski. 25 stycznia Python i Apache Pythonowe platformy aplikacyjne. Dystrybucja aplikacji w U*IX

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

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

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

Wstęp do programowania

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

Komunikacja Człowiek-Komputer

Wykresy i interfejsy użytkownika

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

Paradygmaty programowania

Podstawy programowania w Pythonie

Wątki i komunikacja między nimi w języku Python

Python i programowanie funkcyjne. Python i programowanie funkcyjne czyli nie tylko obiektowość rządzi. OSEC Funkcyjnie w języku Python 1 z 40

Programowanie w Ruby

Hackowanie zamrożonych binariów

Programowanie RAD Delphi

PYTHON NA LEKCJACH INFORMATYKI W SZKOLE PONADGIMNAZJALNEJ

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

SZCZEGÓŁOWY SPIS TREŚCI

Języki programowania do zastosowań biomedycznych

Python! Lekcja 1 podstawy języka, typy danych

PROGRAMOWANIE W JĘZYKU PYTHON

Wstęp do ruby dla programistów javy

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Python. Wprowadzenie. Jolanta Bachan

Wstęp do Informatyki dla bioinformatyków

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

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

Java. język programowania obiektowego. Programowanie w językach wysokiego poziomu. mgr inż. Anna Wawszczak

Programowanie obiektowe

Wykład 4. Algorytmy i programy. Algorytmy + struktury danych = programy. Niklaus Wirth. Algorytm = logika + sterowanie.

Programowanie robota mobilnego E-puck w języku Python

Technologie Informacyjne

Programowanie obiektowe i zdarzeniowe wykład 4 Kompozycja, kolekcje, wiązanie danych

Języki i metody programowania

rozdział 4: ZMIENNE I INSTRUKCJE

Wprowadzenie do Python

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

JAVA W SUPER EXPRESOWEJ PIGUŁCE

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

Zaawansowany kurs języka Python

Wprowadzenie do Objective-C

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

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

Metodyka i Technika Programowania 1

Wprowadzenie do języka Java

Laboratorium 03: Podstawowe konstrukcje w języku Java [2h]

Środowisko programisty

Java EE produkcja oprogramowania

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

Wykład nr 1 Język Ruby i framework Rails

Kurs rozszerzony języka Python

Technologie cyfrowe semestr letni 2018/2019

Jak wygląda składanie sekwencji w przypadku sekwencjonowania de novo? Jakie wykorzystuje się do tego narzędzia?

Programista samouk : profesjonalny przewodnik do samodzielnej nauki kodowania / Cory Althoff. Gliwice, copyright Spis treści

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

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP

Wykład V. Rzut okiem na języki programowania. Studia Podyplomowe INFORMATYKA Podstawy Informatyki

Elementy języka Scheme

Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan

Podstawy programowania w Pythonie

Programowanie funkcyjne w Pythonie

PLAN WYNIKOWY PROGRAMOWANIE APLIKACJI INTERNETOWYCH. KL III TI 4 godziny tygodniowo (4x30 tygodni =120 godzin ),

Wstęp. Ale po co? Implementacja

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

Języki i paradygmaty programowania. I. Wprowadzenie

Liczby losowe i pętla while w języku Python

KURSY PROGRAMOWANIA DLA DZIECI

Programowanie i projektowanie obiektowe

Wykład 0 Informacje Podstawowe

Algorytmy i struktury danych

Wstęp do programowania

Podstawy otwartych języków programowania Przechowywanie danych

WYKORZYSTANIE PORTALU DYDAKTYCZNEGO W NAUCE JĘZYKÓW PROGRAMOWANIA

KURSY PROGRAMOWANIA DLA DZIECI

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

Programowanie strukturalne język C - wprowadzenie

Mów mi Python wprowadzenie do języka Python.

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

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

Wykład 2 Wybrane konstrukcje obiektowych języków programowania (1)

Transkrypt:

Przegląd języka Python Łukasz Anwajler lukasz.anwajler@pjwstk.edu.pl

Nie wierzcie mi na słowo Zaraz zobaczymy: czym jest Python dlaczego warto go używać jakie ma zastosowania gdzie z niego korzystają jakzacząć w nim programować

Bardzo krótka historia Pythona Lata 90 twórca Guido van Rossum słowo klucz: BenevolentDictatorfor Life (BDFL)(dobrowolny, dożywotni dyktator) Do v. 1.2wydawany w Centrum Matematyki i Informatyki w Amsterdamie Od v. 1.6 Pythonjest na licencji GPL(jupi!) Od v 2.1własność PythonSoftware Foundation(PSF)

Pythonto język interpretowany... Czyli? kod jest analizowanyi bezpośrednio wykonywany wolniejszyod jęz. kompilowanych kod analizowany za każdym razem używa kodu bajtowego(ang. bytecode)

Pythonto język interpretowany c.d. Mamy nawet interaktywny interpreter:

Pythonto język interpretowany c.d Chcesz spróbować sam? Zaloguj się na swoje konto uczelniane i wpisz python lub Skorzystaj z interaktywnego interpretera Pythonaprzez specjalną bramkę: http://try-python.mired.org/

Pythonjest przenośny Linux Unix Mac OS X Windows urządzenia wbudowane telefony komórkowe i smartphone y

Implementacje Pythona CPython (C) standardow Python IronPython(.NET) Jython(Java) PyPy(Python)

IronPython(.NET) -przykład

IronPython(.NET) przykład c.d.

Jython(Java) -przykład

Cechy języka Python czytelny kod wiele paradygmatów dynamiczne typy garbage collection wartości przekazywane przez referencję wszystko jest obiektem (no, może nie tak jak Smalltalk ;) brak enkapsulacji

Czytelny kod na co nam to? 80% czasu czytamykod Nie pozwala nam się zgubić we własnym kodzie Nie musimy pilnować innych programistów Bez kwiatków w stylu Perla: open(q,$0);while(<q>){if(/^#(.*)$/){for(split('- ',$1)){$q=0;for(split){s/\

Czytelny kod: obowiązkowe wcięcia Każde wcięcie to 4 spacje.

Python: Wiele paradygmatów Paradygmatto przyjęty sposób widzenia rzeczywistości w danej dziedzinie Python korzysta z trzech z nich jednocześnie. Możemy pisać w sposób: Funkcyjny (jak Haskell) Imperatywny (jak C) Obiektowy (jak Smalltalk)

Python: paradygmat funkcyjny Podstawowym elementem są funkcjea nie wartości Brak lub ograniczenie przypisań i zmiennych

Python: paradygmat obiektowy

Python: paradygmat imperatywny

Python: dynamiczne typy

Python: dynamiczne typy c.d

Python: słowa kluczowe and del from not while as elif global or with assert else if pass yield break except import print class exec in raise continue finally is return def for lambda trys

Python: typy danych Zmienne Integer, floating point, string, unicode, complex, bool Kolekcje: Listy [1, 26, a, 3.5] Krotki (2, "a", 3) Słowniki { klucz : wartość, inny : 5} Zbiory >>> set([1,1,1,2,2,2,3,3,4,4,4,4,4]) set([1, 2, 3, 4])

Python: listy list.append(x) list.extend(l) list.insert(i, x) list.remove(x) list.pop([i]) list.reverse() list.sort()

Python: słowniki

Python: pętle FAŁSZ to: liczba zero (0, 0.0, 0e0, 0j, itp.) False None(null) puste kolekcje :(,),[],{}, itp. puste napisy obiekty posiadające metodę nonzero (), jeśli zwraca ona Falselub 0

Python: pętla for

Python: pętla while

Python: instrukcje warunkowe

Porównanie z innymi językami

Porównanie z innymi jęzkami

Porównanie z innymi językami

Porównanie z innymi językami

Zastosowania Skryptowanie systemu Graficzne aplikacje desktopowe (GTK, wx) Aplikacje webowe (CGI, mod_python) Sklejanie innych języków

Python graficzne aplikacje Pakiet Python+GTK Środowisko Glade desktopowe Skryptowanie Gnome a(w tym Nautiliusa) Python+ Zenity bardzo proste pisanie okienek

Python skryptowaniesystemu Ogromne możliwości Obsługa z palca przy użyciu interaktywnego interpretera i wiele innych

Python skryptowaniesystemu

Python aplikacje webowe Python/Apache: FastCGI Mod_python

Znajdź Pythona GIMP, Mailman, Mercurial, MoinMoin Gnome, Portage, Epiphany, gedit, Vim Bazaar, Trac, Totem BitTorrent, Yum, Rhythmbox Blender, Civilization 4 Gajim, CherryPy, Django, Pylons, Zope Google, NASA,