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

Początki pythona

Object Storage Arubacloud
0 głosów
687 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 Ekspert (344,860 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 (90,870 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 6,461 wizyt
pytanie zadane 23 kwietnia 2015 w Python przez Ehlert Ekspert (212,670 p.)
0 głosów
0 odpowiedzi 57 wizyt
pytanie zadane 4 sierpnia 2023 w Python przez Kubas23 Użytkownik (630 p.)
+1 głos
1 odpowiedź 272 wizyt
pytanie zadane 20 czerwca 2023 w Python przez Bondrusiek Maniak (61,370 p.)

92,555 zapytań

141,403 odpowiedzi

319,557 komentarzy

61,940 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.

Akademia Sekuraka

Kolejna edycja największej imprezy hakerskiej w Polsce, czyli Mega Sekurak Hacking Party odbędzie się już 20 maja 2024r. Z tej okazji mamy dla Was kod: pasjamshp - jeżeli wpiszecie go w koszyku, to wówczas otrzymacie 40% zniżki na bilet w wersji standard!

Więcej informacji na temat imprezy znajdziecie tutaj. Dziękujemy ekipie Sekuraka za taką fajną zniżkę dla wszystkich Pasjonatów!

Akademia Sekuraka

Niedawno wystartował dodruk tej świetnej, rozchwytywanej książki (około 940 stron). Mamy dla Was kod: pasja (wpiszcie go w koszyku), dzięki któremu otrzymujemy 10% zniżki - dziękujemy zaprzyjaźnionej ekipie Sekuraka za taki bonus dla Pasjonatów! Książka to pierwszy tom z serii o ITsec, który łagodnie wprowadzi w świat bezpieczeństwa IT każdą osobę - warto, polecamy!

...