Python dla naukowców
Po co mi to?
Wieloplatformowy
- Tak samo działa na Windowsie co na Linuksie
Zalety pythona
- Język programowania
generalnego przeznaczenia - Skryptowy (sort of)
- Dynamiczny
- Developer-centric
- Zwięzły
Python
C++
list = [1, 2, 3]
print(sum(list))
#include ...
vector<long> list = {1, 2, 3};
std::cout <<
std::accumlate(list.begin(), list.end(), 0L);
Trochę to nie uczciwe, ale:
list = [1, 2, 3, 4, 5]
print(sum(list[1:3]))
vector<long> list = {1, 2, 3};
std::cout << std::accumlate(list.begin()+1,
list.end()+4, 0L);
Zalety Pythona
- Jak matlab ale lepszy
- Ma działające klasy!
- Podobne operacje macierzowe
- Bardzo rozległa biblioteka
standardowa - Dojrzałe IDE
- Wolne/Otwarte
Oprogramowanie - Darmowe!
W bibliotece standardowej
- Matematyka
- Typ reprezentujący
liczby zespolone
- Typ reprezentujący
- Wysyłanie e-maili (smtp)
- Praca z systemem plików
(przeszukiwanie) - Serializacja danych
- Odczyt i zapis plików
- ini
- csv
- json
- xml
- html
Zalety Pythona
- Prosty
- 31 słów kluczowych
- C#/C++ ~80
- Celem projektowym jest
"zasada najmniejszego
zaskoczenia" - Świetna dokumentacja
- Lepsza niż JavaDoc
- Narrative documentation
- Rozwinięta introspekcja
Principle of least suprise
print(1/2) # 0.5
print(1//2) # 0
Zalety pythona
- Bardzo łatwa integracja z kodem w
C/C++/Fortranie- Czasem mówi się o Pytonie
jako "glue language" - Integracja ta często NIE wymaga
pisania kodu C/C++/Fortrana
- Czasem mówi się o Pytonie
- Bardzo stabilny język
- Dziś można spokojnie uruchamiać
programy w pythonie z przed 5 lat
- Dziś można spokojnie uruchamiać
Wady (C)Pythona
- Relatywnie wolny intepreter
- Brakuje kroku kompliacji
więc trzeba testować - Global Interpreter Lock!

Python dla naukowców
By Jacek Bzdak
Python dla naukowców
- 1,504