Your SlideShare is downloading. ×
Wprowadzenie do Pythona
Upcoming SlideShare
Loading in...5
×

Thanks for flagging this SlideShare!

Oops! An error has occurred.

×

Saving this for later?

Get the SlideShare app to save on your phone or tablet. Read anywhere, anytime - even offline.

Text the download link to your phone

Standard text messaging rates apply

Wprowadzenie do Pythona

1,780
views

Published on

Published in: Technology

0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total Views
1,780
On Slideshare
0
From Embeds
0
Number of Embeds
1
Actions
Shares
0
Downloads
14
Comments
0
Likes
1
Embeds 0
No embeds

Report content
Flagged as inappropriate Flag as inappropriate
Flag as inappropriate

Select your reason for flagging this presentation as inappropriate.

Cancel
No notes for slide

Transcript

  • 1. Start Do roboty Biblioteki Idiomy Co dalej? Wstęp do Pythona Konrad Delong 5 listopada 2008, Akademia Górniczo-Hutnicza Konrad Delong Wstęp do Pythona
  • 2. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Dzień dobry Kto mówi? AGH, Python Studencki Festiwal Informatyczny, Pykonik Pykonik Jutro! http://konryd.blogspot.com Konrad Delong Wstęp do Pythona
  • 3. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Dzień dobry Kto mówi? AGH, Python Studencki Festiwal Informatyczny, Pykonik Pykonik Jutro! http://konryd.blogspot.com Konrad Delong Wstęp do Pythona
  • 4. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Audiencja docelowa Do kogo? Osoby nieznające Pythona, (nawet niekoniecznie umiejące programować) Konrad Delong Wstęp do Pythona
  • 5. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Cel Po co? Przedstawić Wyjaśnić Zaciekawić Dla studentów I roku na AGH: pokazać Pythona zanim dziekan pokaże ruby’ego Konrad Delong Wstęp do Pythona
  • 6. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Cel Po co? Przedstawić Wyjaśnić Zaciekawić Dla studentów I roku na AGH: pokazać Pythona zanim dziekan pokaże ruby’ego Konrad Delong Wstęp do Pythona
  • 7. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Historia Język stworzony przez Guido von Rossuma w 1990 roku Inspirowany jego poprzednią pracą (język ABC) Nazwa... Pojęcie BDFL Aktualnie wersja 2.6, wciąż powszechna 2.5, czekamy na 2.7 i 3.0 Alternatywne implementacje Łączący paradygmaty programowania: strukturalny, obiektowy i funkcyjny Konrad Delong Wstęp do Pythona
  • 8. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Użycia Używany przez Google i NASA (i mnie) Skrypty Aplikacje biurkowe Aplikacje sieciowe Gry / animacje Administracja Cała reszta Konrad Delong Wstęp do Pythona
  • 9. Start Do roboty Intro Biblioteki Wstęp do wstępu Idiomy Co dalej? Bajery Wbudowane struktury danych (ze wsparciem składniowym!) Interaktywny interpreter z wbudowaną pomocą Nacisk na czytelność (znaczące białe znaki), unikanie czarów System modułów, przestrzenie nazw The Zen of Python Konrad Delong Wstęp do Pythona
  • 10. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? if if a == b: print quot;NOWAI! Takie same!quot; # a tutaj jest komentarz Konrad Delong Wstęp do Pythona
  • 11. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? if..else if a == b: print quot;NOWAI! Takie same!quot; else: print quot;A jednak nie!quot; # i jeszcze jeden komentarz Konrad Delong Wstęp do Pythona
  • 12. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? while a = 10 while a > 0: print a a = a / 2 # wypisze 10, 5, 2, 1 Konrad Delong Wstęp do Pythona
  • 13. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? for..in for a in (10, 5, 2, 1): print a for i in range(3): # 0, 1, 2 print i Konrad Delong Wstęp do Pythona
  • 14. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? do..while NI MA Konrad Delong Wstęp do Pythona
  • 15. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? try..except try: a = 1 / b except ZeroDivisionError: print quot;Nie dziel przez zeroquot; Konrad Delong Wstęp do Pythona
  • 16. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? funkcje def is_it_monday(day): if day == quot;Mondayquot;: return True else: return False print is_it_monday(quot;Tuesdayquot;) Konrad Delong Wstęp do Pythona
  • 17. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? lambda def twice(x): return 2 * x # to samo twice = lambda x: 2 * x Konrad Delong Wstęp do Pythona
  • 18. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? klasy class Dog(object): def speak(self): print quot;Hau!quot; burek = Dog() burek.speak() Konrad Delong Wstęp do Pythona
  • 19. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Struktury danych Tablice haszujące, Funkcje haszujące Konrad Delong Wstęp do Pythona
  • 20. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Struktury danych Zrobione raz. Zrobione dobrze. Literały – czytelność. Lista Krotka Słownik Zbiór Konrad Delong Wstęp do Pythona
  • 21. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Listy [1, quot;blah!quot;, 3.4, [1, 2]] Uporządkowany ciąg elementów dowolnego typu Można myśleć jak o tablicy, której długością nie trzeba się przejmować Konrad Delong Wstęp do Pythona
  • 22. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Krotki (1, quot;blah!quot;, 3.4, (1, 2)) Uporządkowany ciąg elementów dowolnego typu Immutable - można wyliczyć hasz (zaindeksować słownik, trzymać w zbiorze) Konrad Delong Wstęp do Pythona
  • 23. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Słowniki {1: 2, quot;asdfquot;: 3, (3, 4): quot;a tutaj krotkaquot;} Przechowują mapowanie elementów haszowalnych w cokolwiek Można myśleć jak o tablicy, której nie musimy indeksować liczbami Wyszukiwanie elementu O(1) Zoptymalizowane dla stringów (często używane w Pythonie) NAPRAWDĘ ZOPTYMALIZOWANE Konrad Delong Wstęp do Pythona
  • 24. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Słowniki {1: 2, quot;asdfquot;: 3, (3, 4): quot;a tutaj krotkaquot;} Przechowują mapowanie elementów haszowalnych w cokolwiek Można myśleć jak o tablicy, której nie musimy indeksować liczbami Wyszukiwanie elementu O(1) Zoptymalizowane dla stringów (często używane w Pythonie) NAPRAWDĘ ZOPTYMALIZOWANE Konrad Delong Wstęp do Pythona
  • 25. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Zbiory set([1, 2, quot;asdfquot;]) # nie do końca literał W gruncie rzeczy słowniki Przechowują tylko obiekty haszowalne Podstawowa operacja 1: dodanie elementu Podstawowa operacja 2: sprawdzenie obecności elementu Konrad Delong Wstęp do Pythona
  • 26. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? Moduły DEMO Konrad Delong Wstęp do Pythona
  • 27. Start Do roboty Składnia Biblioteki Struktury danych Idiomy System modułów i przestrzenie nazw Co dalej? wildcard import LUKE: Is from module import * better than explicit imports? YODA: No, not better. Quicker, easier, more seductive. LUKE: But how will I know why explicit imports are better than the wild-card form? YODA: Know you will when your code you try to read six months from now. Konrad Delong Wstęp do Pythona
  • 28. Start Do roboty Biblioteki Idiomy Co dalej? Biblioteki biblioteka standardowa - skarby na dzieńdobry numPy - obliczenia numeryczne symPy - obliczenia numeryczne PIL - operacje na plikach graficznych matplotlib - produkowanie wykresów django, turbogears, pylons - frameworki sieciowe wxPython, pygtk, pyqt, winforms (tylko na .net) i wiele, wiele innych...(Cheeseshop + easy install) Konrad Delong Wstęp do Pythona
  • 29. Start Do roboty Biblioteki Idiomy Co dalej? kwiatki b, a = a, b # swap pair = (quot;Johnquot;, quot;Doequot;) # unpacking first, last = name # list comprehensions [2 * x for x in range(3)] # == [0, 2, 4] # string formatting print quot;a is %s and b is %squot; % (a, b) Konrad Delong Wstęp do Pythona
  • 30. Start Do roboty Biblioteki Idiomy Co dalej? skrypty if __name__ == ’__main__’: print quot;I am run as a script, not imported!quot; Konrad Delong Wstęp do Pythona
  • 31. Start Do roboty Dokumentacja Biblioteki Społeczność Idiomy Co dalej? www.python.org docs.python.org oficjalny tutorial (nieoficjalnych też pełno; jeden z lepszych: ”Dive into Python”) global module index kilka HOWTO help() w konsoli! Google is your friend, Luke Konrad Delong Wstęp do Pythona
  • 32. Start Do roboty Dokumentacja Biblioteki Społeczność Idiomy Co dalej? Społeczność Blogi Grupy dyskusyjne irc Pykonik Konrad Delong Wstęp do Pythona
  • 33. Start Do roboty Dokumentacja Biblioteki Społeczność Idiomy Co dalej? FIN Konrad Delong Wstęp do Pythona