• Najnowsze pytania
  • Bez odpowiedzi
  • Zadaj pytanie
  • Kategorie
  • Tagi
  • Zdobyte punkty
  • Ekipa ninja
  • IRC
  • FAQ
  • Regulamin
  • Książki warte uwagi

Python, cenne uwagi.

0 głosów
478 wizyt
pytanie zadane 8 marca 2016 w Python przez Lukasz95 Bywalec (2,160 p.)
zmienione kategorie 9 marca 2016 przez Arkadiusz Waluk
Cześć, ostatnio bardzo zaintrygował mnie pewien język, a mianowicie Python, chciałem od was dowiedzieć się w czym ten język sprawił, że jest taki popularny? Wszyscy ,a raczej większość go zachwala. Co należy do codziennych obowiązków programistów pythona, jakie języki powinien jeszcze znać, co powinien umieć?

3 odpowiedzi

+3 głosów
odpowiedź 8 marca 2016 przez Benek Szeryf (88,120 p.)
wybrane 8 marca 2016 przez Lukasz95
 
Najlepsza

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
komentarz 8 marca 2016 przez Lukasz95 Bywalec (2,160 p.)
A jakie technologie taki typowy programista Pythona powinien znać?
2
komentarz 9 marca 2016 przez Benek Szeryf (88,120 p.)
Niestety nie da się odpowiedzieć jednoznacznie, ponieważ Python ma wiele zastosowań. Można w nim pisać aplikacje desktopowe, webowe, a także skupiać się na zastosowaniach naukowych oraz wielu innych. W takim razie dodatkowa technologia będzie zależeć od tego, co tak naprawdę chcesz robić z Pythonem.

Mnie osobiście nauka C++ pomogła zrozumieć skąd się biorą języki wyższych poziomów. Dostrzegłem przejście między C a C#. Widzę też wiele zalet z nauki C++ ucząc się Pythona. W sumie mógłbym Ci polecić naukę C++, ale z drugiej strony jest to ogromna ilość materiału do przerobienia, a jeśli chciałbyś docelowo pracować z Pythonem, nie używając nigdy C++, to szkoda Twojego czasu.

Chyba najlepszą radą jest rozpoczęcie nauki Pythona. W sieci jest nieograniczona liczba materiałów, nawet po polsku, nie trzeba kupować żadnej książki. Sam się zorientujesz w temacie i tak ukierunkowany douczysz się dodatkowej technologii. Po prostu zacznij studiować Pythona zupełnie za darmo i rób zadania. Polecam na start mini-wykłady z zadaniami: http://uoo.univ.szczecin.pl/~jakubs/news/ (powyższe zadanie wziąłem właśnie stąd).
komentarz 9 marca 2016 przez Lukasz95 Bywalec (2,160 p.)
Znam już w pewnym stopniu C , teraz programuję w C++ obiektowo  no i uczę się Sql.
Zaintrygował mnie właśnie Python.
Ogólnie mam do Ciebie pytanie,mam problemy ze złożonymi programami ze znalezieniem rozwiązania, no mam pustkę w głowię często  przez co zaczynam zrażać się do programowania, jak myślisz jest sens żebym dalej szedł w tym kierunku IT czy może dał sobie spokój?
Może znasz jakieś metody które pozwolą mi jakoś przejść przez te "trudności" ?
Za odp z góry wielkie dzięki.
1
komentarz 9 marca 2016 przez Benek Szeryf (88,120 p.)
To świetnie, że znasz już C/C++ i wiesz co to obiektowość. Niestety nie wiem na jakim etapie programowania natrafiasz na mur. Po Twojej wiadomości sądzę, że problemem nie są dla Ciebie solidne podstawy jak pętle, instrukcje warunkowe czy wskaźniki lub funkcje. Jeśli trafiasz na ścianę przy bardziej zaawansowanych zagadnieniach, to nie poddawaj się. Jesteś na dobrej drodze.

Znów się odwołam do samego siebie, bo tak mi najłatwiej. Powyższy program, który napisałem w Pythonie, też nie powstał w 60 sekund (tyle ile by mi zajęło wklepanie znaków, z których się składa). Zanim napisałem kod, musiałem się zastanowić co wziąć pod uwagę, by na przykład zdać sobie sprawę, że program nie odtworzy w pełni zdania, które zawiera wielokropek (...) - utnie tę część. Jednak to nie problem, bo tylko słowa podlegają zliczeniom - znaki nie.

Gdy przytrafia mi się trudność, to zwykle na tyle się wciągam w analizę zagadnienia, że myślę o tym przez cały dzień, a wieczorem jestem wyczerpany. Wtedy stwierdzam, że pora wypocząć i wziąć się na następny dzień za to zagadnienie. Z początku takie podejście mnie denerwowało, bo nawet jak trafiłem do łóżka wieczorem, to wciąż myślałem o rozwiązaniu pomimo sporego zmęczenia. Zazwyczaj po kilku takich razach, na następny dzień udawało mi się rozwiązać problem. Dzięki tym doświadczeniom, teraz potrafię przełożyć jakieś zagadnienie na następny dzień, nie czekając do wieczora i nie tracąc czasu  - zajmuję się czymś innym. Następnego dnia zwykle udaje mi się problem rozwiązać. Jeśli nie, to w ostateczności piszę wiadomość na jednym z for, choć wcześniej i tak przeszukuję Internet (głównie na stronach anglojęzycznych).

Nie od razu Kraków zbudowano. Widzę, że postępując małymi kroczkami umiem coraz więcej, choć czasem się boję mówić na głos, że umiem programować, bo wiem że nie znam ani jednego języka na wylot i pewnie nigdy nie zdołam poznać.
komentarz 9 marca 2016 przez Lukasz95 Bywalec (2,160 p.)
Dzięki, dałeś mi motywację której potrzebowałem.
0 głosów
odpowiedź 8 marca 2016 przez Matheyas Obywatel (1,520 p.)
Wszystko, co jest potrzebne w danym momencie (fajnie jest się wyspecjalizować w jednej/kilku tech.). Serio.

Podobne pytania

0 głosów
1 odpowiedź 436 wizyt
+1 głos
5 odpowiedzi 280 wizyt
pytanie zadane 25 marca 2021 w C i C++ przez Whiskey_Taster Stary wyjadacz (13,540 p.)
0 głosów
7 odpowiedzi 776 wizyt
pytanie zadane 11 października 2019 w PHP przez sapero Gaduła (4,040 p.)

87,907 zapytań

136,494 odpowiedzi

304,314 komentarzy

58,286 pasjonatów

Motyw:

Akcja Pajacyk

Pajacyk od wielu lat dożywia dzieci. Pomóż klikając w zielony brzuszek na stronie. Dziękujemy! ♡

Oto dwie polecane książki warte uwagi. Pełną listę znajdziesz tutaj.

...