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

Początki pythona

Cloud VPS
0 głosów
1,037 wizyt
pytanie zadane 5 lutego 2019 w Python przez FreakyBaker Nowicjusz (190 p.)
Witam, od nowego roku zająłem się bardziej nauką programowania (m.in. ograniczam wszystkie filmiki z yt na rzecz właśnie nauki), ale postanowiłem nie kontynuować podstaw C++, a zająć się pythonem, który swoja droga bardzo mi się podoba :)

Mam pytanie co do dalszej nauki tego języka, bo same podstawy dla kompletnie początkujących znam, a wszystko chcę wykorzystać w praktyce więc aktualnie zajmuję się PyGame, w którym powoli idę do przodu. Po prostu chcę coś robić! :) Tylko co dalej? Warto zagłębiać się na długi czas... powiedzmy conajmniej rok w PyGame (bo nie wiem czy jest nadal wspierany) ,a po paru projektach przerzucić się na jakieś inne ćwiczenia (jeżeli tak to jakie, robiłem już jakieś Practise Python i będę pewnie szukał dalej). Dalsza nauka dla mnie powinna iść w każdym kierunku byleby być płynniejszym w posługiwaniu się tym językiem

3 odpowiedzi

+2 głosów
odpowiedź 5 lutego 2019 przez Arkadiusz Sikorski Pasjonat (20,160 p.)

1) W PyGame bym się bardziej nie zagłębiał, to może być fajna rzecz do prostych animacji i wizualizacji, ale z robieniem poważniejszych gier dałbym sobie spokój. Już lepiej zainteresuj się kivy.

2) Jeśli faktycznie chcesz być "dobry z pythona", to zapoznaj się z tym, co oferują standardowe moduły - jest ich bardzo dużo, pozwalają pisać naprawdę ładny i zwięzły kod, przykład:

lista = ['jablko', 'gruszka', 'pomarancza'] 

for i in range(len(lista)):
	print(i, lista[i])
	
for i, owoc in enumerate(lista):
	print(i, owoc)

Obydwie pętle robią to samo, za to w drugim przypadku kod wygląda o wiele przyjemniej :)

Innym przykładem mógłby być moduł itertools czy functools, zajrzyj tam na pewno.

3) Nawiązując do odpowiedzi @Secrus

backend webdev, data sciencist, sztuczna inteligencja.

to faktycznie to są najczęstsze zastosowania pythona, gdzie backend nie jest aż tak trudny, za to data science i sztuczna inteligencja będzie wymagała trochę większego nakładu wiedzy (głównie matematyki), chociaż to też nie jest reguła.

Data science to może być równie dobrze i regresja liniowa jak i bardziej skomplikowana analiza danych, a sztuczna inteligencja to zarówno różne algorytmy grafowe jak i sieci neuronowe czy algorytmy ewolucyjne. 

Zbiór bibliotek, które mogę polecić:

  • numpy - N-wymiarowe tablice, wygodne w użyciu, must have, jeśli chodzi o data science, obliczenia inżynierskie czy AI. Warto znać, bo wiele bibliotek z nich korzysta.
  • scipy - zestaw narzędzi do obliczeń inżynierskich; transformaty, regresje i tak dalej.
  • pandas - biblioteka z zestawem narzędzi dla data science.
  • matplotlib - wykresy i wizualizacje.
  • deap - zestaw narzędzi do algorytmów ewolucyjnych.
  • keras + theano/tensorflow/jeszcze jakiś inny backend - sieci neuronowe.

No a webówka to głównie django i flask.

0 głosów
odpowiedź 5 lutego 2019 przez Secrus Nałogowiec (32,880 p.)
Sugerowałbym raczej wybrać ścieżkę rozwoju w Pythonie: backend webdev, data sciencist, sztuczna inteligencja. Nie ma sensu brnąć w inne dziedziny z Pythonem, zwyczajnie nie jest on używany w innych branżach niż te które wymieniłem
komentarz 5 lutego 2019 przez adrian17 Mentor (354,720 p.)

zwyczajnie nie jest on używany w innych branżach niż te które wymieniłem

(co nie znaczy że nie ma wyjątków :) )

0 głosów
odpowiedź 5 lutego 2019 przez Benek Szeryf (93,190 p.)

Źle na to patrzysz. Raczej bym się nie sugerował tym, co jest modne w danej technologii, tylko próbował rozwiązać dany problem i tym samym wybrał narzędzie, które mi to umożliwi.

Przykładowo sam zacząłem uczyć się Pythona, ponieważ potrzebowałem stworzyć program interaktywny, który to w odpowiedni sposób przetwarzałby dane z pliku tekstowego (w formie tabel). Następnie tak przetworzone punkty wyświetlałby na wykresie i umożliwiał interakcję z nimi za pomocą kursora. Przy pisaniu takiego programu musiałem poznać parę modułów. Wtedy dostrzegłem potencjał tego języka i zacząłem rozważać, jak mogę usprawnić swoją pracę.

W tym momencie dochodzi się do sprzężenia zwrotnego. Na przykład przyglądam się uczeniu maszynowemu, choć jakoś bardzo w danej chwili go nie potrzebuję, by za chwilę dostrzec, że przecież łatwo mogę je wykorzystać w swojej aplikacji. Załóżmy, że chcę wyznaczyć położenie centrum chmury punktów. Mogę to zrobić, pisząc prosty algorytm. Ale po co? Robię to szybko, wykorzystując algorytm kNN. Jego przeznaczenie jest nieco inne, bo polega ono na podzieleniu danych na zadaną z góry liczbę grup. Przy okazji wyznacza położenia każdej z grup. I to jest to, na czym mi właśnie zależy. Jedna linia i po problemie. Mogę przejść do rozwiązywania trudniejszych zagadnień.

Czyli podsumowując, najpierw definiujesz sobie problem (może to być przykładowo gra, w której brakuje Ci na rynku). Wybierasz narzędzie i je poznajesz. Przy rozwiązywaniu problemów sporo się uczysz. W głowie rodzą Ci się nowe pomysły (czasem możesz uznać, że język który wybrałeś jest beznadziejny i wybierasz inny) i w ten sposób automatycznie toruje Ci się Twoja ścieżka technologiczna. Nigdy nie wybieraj języka czy dziedziny informatyki pod kątem tego, co jest modne. Stwierdzisz, że lubisz pisać aplikacje desktopowe, to pewnie w naturalny sposób wylądujesz w C#. Ja sam torowałem swoją ścieżkę kilka lat, poznałem różne technologie i już mniej więcej wiem, którędy mam iść, pomimo że np. ofert pracy w Javie jest więcej. Ale co z tego?

Podobne pytania

+16 głosów
8 odpowiedzi 7,442 wizyt
pytanie zadane 23 kwietnia 2015 w Python przez Ehlert Ekspert (215,050 p.)
0 głosów
0 odpowiedzi 150 wizyt
pytanie zadane 4 sierpnia 2023 w Python przez Kubas23 Użytkownik (630 p.)
+1 głos
1 odpowiedź 557 wizyt
pytanie zadane 20 czerwca 2023 w Python przez Bondrusiek Maniak (61,440 p.)

93,488 zapytań

142,422 odpowiedzi

322,772 komentarzy

62,906 pasjonatów

Motyw:

Akcja Pajacyk

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

Oto polecana książka warta uwagi.
Pełną listę książek znajdziesz tutaj

Kursy INF.02 i INF.03
...