Wprowadzenie do Pythona

1,989 views

Published on

Published in: Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
1,989
On SlideShare
0
From Embeds
0
Number of Embeds
265
Actions
Shares
0
Downloads
16
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Wprowadzenie do Pythona

  1. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 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. 33. Start Do roboty Dokumentacja Biblioteki Społeczność Idiomy Co dalej? FIN Konrad Delong Wstęp do Pythona

×