Jak używać Pythona na uczelni i nie zwariować

O mnie



  • mam za sobą 4 letni maraton z PWr zakończony sukcesem
  • 3 lata pomagałem sobie Pythonem w praktycznie KAŻDYM projekcie


O czym będę mówił

  • powody dla których CHCESZ używać Pythona
  • kilka przykładów z życia
  • narzędzia 
  • kierunkowskazy

O prezentacji

entry level: dla początkujących
na końcu umieszczę linki do pobrania
moje przemyślenia, niekoniecznie każdy się z nimi zgodzi













source: 9gag.com

Na cóż mi ten wąż

Chcesz go używać bo:

  • Projekty są wystarczająco trudne, nie potrzebujesz męczyć się jeszcze z językiem
  • "Baterie w zestawie"
  • Nie jesteś uwiązany do żadnego systemu czy edytora
  • Python jest potężnym narzędziem nie tylko na informatyce

Notatki z poligonu

Sytuacja I: Mój pierwszy raz z Pythonem na AK2


Zadanie: implementacja kodów cyklicznych CRC i RS


Klasyczny studencki projekt

  • problemy z ogarnięciem matematyki
  • terminy się posypały
  • konsultacje w nieciekawych godzinach

Rozwiązanie problemu

  • na przedmiocie gdzie używa się Assembly... użyliśmy pythona
  • zmiana celu - z programu jak najszybszego na uzyskanie przejrzystego kodu
  • konsultacje mailowe z użyciem ideone.com

Wnioski

  • łatwo przemycić Pythona, nawet tam gdzie nie powinno go być
  • jeżeli zmiana narzędzia jest wygodna dla OBU stron to łatwiej ją przeprowadzić

Sytuacja II: Mur nie do przebicia 


Zadanie: Laborki z Przetwarzania Sygnałów Cyfrowych

source: http://www-home.htwg-konstanz.de/~umlauf/Bilder/Lena.jpg

Problem z Pythonem: Nie bo nie


prowadzący:


"Python nie jest językiem programowania"


ಠ_ಠ








source: http://stream1.gifsoup.com/view2/1112154/sad-baby-o.gif

Rozwiązanie problemu (sort of)

  • wybrałem biblioteki z których mogłem korzystać w C++ i Pythonie
  • pisałem programy "na boku" aby przetestować ich możliwości

Wnioski


  • nie wszystkich przekonasz
  • użycie innych narzędzi niż zwykle to nowe doświadczenia
  • Python sprawdza się jako język do szybkich prototypów

Sytuacja III: Razem raźniej


Projekt z Medycznych Systemów Informatycznych:
Zdalny monitoring pacjenta


source: http://yourlifesolution.com/howtosavemoney/wp-content/uploads/2012/12/Electronic-health-record-systems-healthy-big-data.jpg

Problemy


  • Zmuszenie ludzi o różnych umiejętnościach do pracy nad wspólnym projektem
  • Podział projektu na moduły
  • Nikt z 6 osobowej ekipy nie powinien siedzieć bezczynnie
  • Koordynacja pracy

Rozwiązanie


  • podzielenie ludzi wg preferowanych języków programowania
  • serwer zarządzający bazą danych napisany w Pythonie
  • udostępnienie RESTowego API

Wnioski

  • Python łatwo integruje się z innymi językami programowania
  • Pisanie logiki serwerowej było banalnie proste przy użyciu Flask + plugin flask-restfull
  • Github oprócz backupów i kontroli wersji pozwala szybko pokazać prowadzącemu zmiany w projekcie


Narzędzia

Interpreter


Linux -> już pewnie jest (wersja 2.7)

Windows -> instalujesz albo wersja portable


Online:

  • https://ideone.com/
  • https://www.pythonanywhere.com/

Zarządzanie pakietami


pip

Linux:

sudo apt-get install python-setuptools python-dev build-essential
sudo easy_install pip  

Windows:

[ poradnik ]

lub gdy nie chce po dobroci

[ paczki z instalatorami ]


Edytor tekstu


zrób sobie przysługę i zainstaluj

SublimeText 3

albo

Vim

Rozwiązywanie problemów


StackOverflow


Google

magiczne zapytanie ;)

 "to co chcę osiągnąć" +python +ubuntu

Paczki sprawdzone w boju


  • Aplikacje webowe
    • Django, Flask
    • koniecznie z: Bootstrap, Foundation
  • Interface graficzny
    • PySide / PyQt
    • webówka + plik bat
  • Interaktywne wykresy
    • PyQtGraph
  • Python na Androidzie
    • Kivy
    • QPython
  • Tworzenie gier
    • Odpuść Pythona i ściągnij Unity3D

Kursy, wyzwania


  • https://www.codeschool.com/
  • http://www.codecademy.com/

  • http://www.checkio.org/
  • https://www.codeeval.com/


Dziękuję za uwagę



WrocPy#8: Jak używać Pythona na uczelni i nie zwariować

By Krzysztof Wolski

WrocPy#8: Jak używać Pythona na uczelni i nie zwariować

Prezentacja na 8. spotkanie z serii WrocPy. Grupą docelową są nowi użytkownicy Pythona którzy chętnie ułatwiliby sobie życie na uczelni i poza nią.

  • 1,015