Pierwsze co mi przychodzi na myśl odnośnie zalet Pythona:
- nie ogranicza się do jednego paradygmatu (podobnie jak C++)
- ogromna liczba gotowych bibliotek prawie do wszystkiego, dodatkowo optymalizowanych przez matematyków (np. moduł numpy)
- wiele dynamicznych typów danych wraz z gotowymi interfejsami (np. listy, krotki)
- możliwość dołączania kodów napisanych w innych językach
- jest to język interpretowany, a więc łatwo przenośny na inne maszyny
- posiada tryb interaktywny, tak więc można pisać programy z poziomu linii komend i natychmiast je wywoływać obserwując rezultat/poprawiając błędy
- maksymalnie uproszczona składnia (np. blok instrukcji realizuje się przez wcięcia)
Przykład. Program, który prosi o podanie kilku zdań, po czym wypisuje ile wyrazów jest w danym zdaniu:
#!/usr/bin/python
text = raw_input("Podaj kilka zdan:\n")
T = text.split('.') # rozbicie na pojedyncze zdania
n = T.count("") # ilosc elementow pustych na liscie
print ""
while n:
T.remove("") # usuniecie pustych elementow z listy
n -= 1
for i in T:
subT = i.split(" ") # rozbicie zdania na wyrazy
n = subT.count("") # spacja po kropce, przed zdaniem
while n:
subT.remove("") # usuniecie nadmiarowych spacji
n -= 1
print ' '.join(subT),"-> %i" % len(subT)
Wejście:
Podaj kilka zdan:
Lorem ipsum dolor sit amet, consectetur adipiscing elit. Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi. Cras vel lorem. Etiam pellentesque aliquet tellus. Phasellus pharetra nulla ac diam. Quisque semper justo at risus. Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci.
Wyjście:
Lorem ipsum dolor sit amet, consectetur adipiscing elit -> 8
Proin nibh augue, suscipit a, scelerisque sed, lacinia in, mi -> 10
Cras vel lorem -> 3
Etiam pellentesque aliquet tellus -> 4
Phasellus pharetra nulla ac diam -> 5
Quisque semper justo at risus -> 5
Donec venenatis, turpis vel hendrerit interdum, dui ligula ultricies purus, sed posuere libero dui id orci -> 16