Utknąłem w centrum Pythona, Jak przejść obok początkującego [zamknięte]


22

Naprawdę przepraszam, jeśli to nie jest zgodne z regułami SO, ale potrzebuję trochę pomocy, osobiście nadal klasyfikuję się jako początkujący w pythonie, ale napisałem bardzo mały i BARDZO NIEWYSTARCZYNY program do użycia dla mojego szefa.

Wiem, że wciąż jestem początkującym, ponieważ proste rzeczy wciąż mnie zakłopotają, ale każda książka, którą czytam dla początkujących, uczciwie po prostu przerabia to, co już wiem, ale każda „bardziej zaawansowana” książka tak naprawdę nie pozwala mi się uczyć, zależą od przykładowych plików i nigdy tak naprawdę nie rozumiem, dlaczego zbudowali funkcję „powiedział” lub „powiedział” klasę. Więc na moje pytanie ...

Czy są jakieś zalecenia dotyczące książki lub COKOLWIEK, które wypychają mnie z tego etapu, najpierw użyłem głowy i zwykle są naprawdę dobre, ale moim problemem jest to, że mam śledzenie wstecz tylko po to, aby przejść dalej, działało w HTML, ale jest to mylące w Pythonie, w zasadzie myślę, że muszę zbudować program, podążając za nim. Znowu lubię styl HeadFirst, ale potrzebuję czegoś, co nie sprawi, że będę musiał pamiętać tylko jedną rzecz, żeby o tym zapomnieć ...

dla przypomnienia, sprawdziłem książki O'Reilly


7
Dla każdego początkującego programu napisz kilka małych programów, aż zrozumiesz. Kiedy poczujesz się komfortowo, rób to samo z coraz większą liczbą, aż dojdziesz do zaawansowanych rzeczy. Samo czytanie bez ćwiczeń i kodowania niewiele ci pomoże.

6
Czy czytałeś już Jak myśleć jak informatyk ?
Oscar Mederos

Czy korzystałeś już z samouczka docs.python.org/tutorial/index.html ? Czy masz konkretne aspekty, które Cię dezorientują? Gdybyś mógł zilustrować je kilkoma przykładami kodu, byłoby jeszcze lepiej.
juanchopanza

Czy szef nie potrzebuje też większego programu napisanego w Pythonie? Potrzebujesz doświadczenia ...

2
rób, próbuj i zadawaj pytania, gdy nie rozumiesz, ludzie tutaj ci pomogą.
monkut,

Odpowiedzi:


23

Przestań czytać książki.

Idź napisz kod, korzystając z czasu wolnego od czytania. Ćwiczyć. Rozważać. Staw czoła prawdziwym problemom w prawdziwym kodzie, który piszesz.

Wówczas będziesz mieć wystarczająco dużo pytań, na które mogą odpowiedzieć zaawansowane książki. Teraz nie masz tych pytań, a odpowiedzi w książkach nie mają dla ciebie sensu.

To bardzo przypomina naukę języka obcego lub naukę pływania: same książki nie mogą pomóc. Musisz dużo ćwiczyć, a twój mózg to „rozumie”.


19

FWIW, tak naprawdę nauczyłem się Pythona, aby napisać dla siebie nietrywialną aplikację . W rzeczywistości było to ponowne napisanie tej samej aplikacji, którą wcześniej stworzyłem, aby nauczyć się C (a później C ++), więc byłem bardzo dobrze zaznajomiony z tym, jakie przetwarzanie należy wykonać. Podczas każdego (ponownego) pisania próbowałem skorzystać ze specjalnych funkcji oferowanych przez dany język lub po prostu chciałem go wypróbować.

Jako bonus, kiedy skończysz lub przynajmniej będziesz mieć działającą wersję, będziesz mieć coś naprawdę przydatnego, a nie jakieś ćwiczenie programistyczne, które samo w sobie jest bezwartościowe. Możesz także wrócić później i zmienić program, gdy nauczysz się więcej lepszych sposobów osiągania celów w języku.

Jednym z bardzo przydatnych sposobów na poprawę w dowolnym języku programowania jest po prostu czytanie wielu innych programów. Jednym z dobrych sposobów, aby to zrobić w tych dniach, jest skorzystanie z Google, jak opisano w odpowiedzi StackedOverflow . Jest to świetny zasób i często będziesz czytać kod „siły przemysłowej” napisany przez profesjonalnych programistów i używany w innych rzeczywistych aplikacjach.

Aktualizacja:

Ponieważ Google Code Search zostało przerwane 15 stycznia 2012 r., Oprócz powrotu do zwykłych wyszukiwań w Google, istnieje coś, co nazywa się Collection Snippets Collection, które wygląda obiecująco. Wiele innych zasobów jest wymienionych w odpowiedziach na to (zamknięte) pytanie Zastąpienie Google Code Search? .


5
Nacisk na nietrywialne. Aby nauczyć się robić trudne rzeczy, staraj się robić trudne rzeczy.
Bryan Oakley,

5

Po prostu nie przejmuj się łatwymi koncepcjami. Twórz małe programy zawierające ich koncepcje. W pewnym momencie zdobędziesz wzgórze zrozumienia, a nowe rzeczy będą dla ciebie bardziej sensowne. Prowadzę również katalog o nazwie fragmenty Pythona. Uważam, że jest przydatny jako punkt wyjścia w niektórych koncepcjach.

Inną sztuczką, którą uważam za nieocenioną, jest czytanie kodu innych osób i komentowanie go, podsumowując, co robi każda linia i sekcja. Jeśli nie wiem, czas na Google. W ten sposób widzę Pythona w akcji i mogę go podzielić na schludne sekcje.

Jednym ze szczególnie bogatych zasobów kodu jest samo źródło Python.


5

Jeśli nie masz pewności co do podstawowych bibliotek Python lub projektowania obiektowego (ponieważ wspominasz, że nie wiesz, dlaczego użyto funkcji „said” class lub „said”):

  1. Budowanie umiejętności projektowania obiektowego naprawdę pomaga w przemyśleniu projektu obiektowego.

  2. Druga strona S.Lott, Building Skills in Python , może być również dobrym sposobem na rozszerzenie swoich umiejętności w zakresie Python poza podstawy. Ma wiele aplikacji, które są nieco prostsze niż książki wymienione poniżej, ale nadal są zabawne i pouczające.


Jeśli masz problem z tym, że nie możesz dowiedzieć się, jak używać Pythona do robienia czegokolwiek interesującego:

1) Początek Python: Od początkującego do profesjonalisty dostaje się kilka interesujących rzeczy: GUI, pisanie własnej aplikacji do udostępniania plików itp. Lubię też styl Hetlanda.

2) Wspomniałeś o książkach O'Reilly, ale Programowanie Python zajmuje się prawie całkowicie aplikacjami zamiast składnią. Ma wiele interesujących aplikacji, dzięki którym płyną kreatywne soki. To ogromna książka (myślę, że ~ 1500 stron), a 4e jest całkowicie skupiona na Pythonie 3, ale zdecydowanie otwiera oczy na to, jak ludzie używają Pythona.


+1 za odwołanie do strony S. Lott ... Nigdy wcześniej tego nie widziałem.
Gerrat

4

Są dwie książki Python, które poleciłbym, a jedna z nich była już wspomniana przez @MikeRand:

  • Dive Into Python 3 to książka obowiązkowa, która obejmuje wprowadzenie i kilka bardziej zaawansowanych tematów.
  • Programowanie Python jest IMHO odpowiednią książką do przejścia do bardzo zaawansowanych tematów Python. Obejmuje również wiele obszarów, na przykład interfejsy (G), aplikacje systemowe, programowanie sieciowe itp.

Pamiętaj, że najnowsze wersje obu książek obejmują Python 3. Jeśli pracujesz ze starszą wersją Pythona, poszukaj wcześniejszej wersji książek. FTR, alternatywną opcją jest Python do projektowania oprogramowania (wcześniej How to Think Like a Computer Scientist: Learning with Python wspomniany przez @ oscar-mederos), ale większość jego treści jest również wprowadzająca (w tym sensie zamiast tego poleciłbym Dive Into Python ).


3

Najbardziej efektywnym sposobem jest regularne sprawdzanie kodu przez doświadczonego mentora i wdrażanie jego sugestii. Jest to jedna z największych korzyści uzyskanych na studiach, ale niekoniecznie musi być tak formalna. Uważam się za zaawansowanego programistę, ale wciąż chodzę korytarzem, aby omówić najważniejsze decyzje projektowe z kolegami przed kodowaniem, a następnie przejrzeć gotowy produkt.


0

Oprócz niektórych wspomnianych książek (zwłaszcza How to Think Like an Computer Scientist ), sprawdź witrynę Python Recipes ActiveState . Przeczytać kilka rzeczy, które Cię interesuje, należy spojrzeć na kod, a następnie dowiedzieć się, jak ty by zbliżył się do problemu i jak różni się od tego, co znajduje się w przepisie.


-1

Jest to dość dziwna sugestia, ale sposób, w jaki muszę być tam, gdzie jestem, polega na zadawaniu pytań i obserwowaniu, jak inni ludzie zadają pytania, i czytaniu odpowiedzi. Tak, przeglądanie pytań otagowanych przez Stack Overflow w Pythonie lub (jak w moim przypadku) regularne na #python na freenode.


-3

Wypróbuj książkę „Hello World! Programowanie komputerowe dla nastolatków i innych początkujących” Warrena i Cartera Sande, czyli jak nauczyłem się skryptowania w języku Python lub słyszałem, że „Hello! Python” Anthony'ego Briggsa to także fantastyczna książka.

Skoncentruj się na organizowaniu programów za pomocą funkcji, komentarzy i jakiejś struktury przepływu. Nie zapominaj: Program to po prostu zestaw instrukcji, których przestrzega komputer. Ułatw czytanie i zrozumienie.

Korzystając z naszej strony potwierdzasz, że przeczytałeś(-aś) i rozumiesz nasze zasady używania plików cookie i zasady ochrony prywatności.
Licensed under cc by-sa 3.0 with attribution required.