NwP - Nurkuję w Pythonie

Od zera do van Rossuma

Wieści z frontu

Python nie poszedł w odstawkę, choć nie poświęcam mu tyle czasu, ile faktycznie bym chciał. Jestem na etapie operowania funkcjami, przede mną słowniki, operacje na plikach i bazy danych. W przerwach między dawkami wiedzy – zadania ze SPOJa albo zbioru ćwiczeń. I tak to się kręci.

Dostrzegłem, że niebawem czeka mnie kolejne poszukiwanie źródeł – już nieco bardziej zaawansowanych niż podstawowe kursy. Może mając już na koncie ileśtam kilobajtów napisanego kodu przekonam się do Dive Into Python albo kursu Marcina Młotkowskiego? I nie mogę już patrzeć na przewodnik van Rossuma. Ciężko się go czyta i nic mi po nim nie zostaje w głowie.

A ponieważ od niedawna udostępniam miejsce na serwerze, to wymyśliłem sobie projekt do napisania po skończeniu kursu Jakuba Swachy – system do rozliczania użytkowników. Trochę szkoda, że w Site5 nie ma API do panelu administracyjnego (w FastNext.com takowe jest), to może poćwiczyłbym dogadywanie się z innymi interfejsami.

Walka z pętlami

Nadal siedzę przy instrukcjach warunkowych, pętlach, listach i krotkach. Postanowiłem sobie, że dopóki nie nabiorę jako takiej biegłości w operowaniu nimi, nie ruszę dalej. A nie jest to proste dla kogoś, kto pierwszy raz w życiu iterował na elementach listy, a nie liczbach całkowitych.

Zacząłem robić zadania na SPOJu. Oczywiście najłatwiejsze idą na pierwszy ogień.

Pierwsze „rozgałęzione” programy

Notatki z dzisiejszej nauki instrukcji warunkowych:

  • uważać na znak równości (==) i operator przypisania (=). Ja wiem doskonale, że się od siebie różnią i czym się różnią. Nie przeszkadza mi to jednak mylić je w trakcie pisania, co na szczęście interpreter wychwytuje (jak na razie). Do czasu, aż napiszę jakiś większy program i błąd będzie nie do wychwycenia.
  • Jakub Swacha pisze, że przy porównywaniu napisów kryterium jest kolejność leksykograficzna. Na przykład:

    >>> 'Ala'=='Ala'

    True

    >>> 'Ala'<'Ola'

    True

    Nie rozumiem o co chodzi. Ale wiem, co mam przeczytać na ten temat.

Następne będą typy sekwencyjne. A kiedy wreszcie funkcje?

Początki, hello world, arytmetyka

Krótko: wybrałem ostatecznie oficjalną dystrybucję Pythona oraz zainstalowałem sobie Portable Python na pendrivie. Jako pomoce naukowe wybrałem:

Przerobiłem dzisiaj trzy lekcje z kursu J. Swachy. Pobawiłem się trybem interaktywnym, potrafię przeprowadzić proste operacje matematyczne, wczytać dane od użytkownika i manipulować nimi w prosty sposób.

Czytaj dalej »

W kwestii formalnej

Myślałem, że nie będę musiał tego pisać, ale najwyraźniej nie dla wszystkich pewne sprawy są oczywiste.

To do tych, którzy w przeszłości, w teraźniejszości lub w przyszłości zamierzają się zdziwić, że „znowu” bloguję, mimo że miesiąc temu zamknąłem ostatni blog z hukiem, a na stronie domowej mam napisane „bloger w stanie spoczynku”. A także do tych, którym wydaje się, że bloguję zamiast programować.

Czytaj dalej »

Python – pomoce, kursy, ćwiczenia

Mimo że wciąż nie dokonałem wyboru co do środowiska programistycznego (z jednej strony oficjalna dystrybucja Pythona, z drugiej ActivePython – i to kusi, i to nęci…), postanowiłem w końcu zebrać wszystkie możliwe źródła wiedzy na temat Pythona. Zgodnie z tym, co pisałem wcześniej, zamierzam z tej listy wybrać jeden kurs oraz jeden zestaw ćwiczeń, wydrukować i przerabiać rozdział po rozdziale (reszta pozostanie tylko w formie elektronicznej). Na razie skupiłem się wyłącznie na źródłach internetowych i to głównie w języku polskim, choć kilka anglojęzycznych pozycji też się znalazło.

Czytaj dalej »

Plan nauki

Ułożyłem w końcu plan działania, o którym wspominałem wcześniej. Jest mocno uogólniony, a jednocześnie na tyle konkretny, by po spojrzeniu na niego zawsze mieć coś do zrobienia. No to do rzeczy.

Celem działań zawartych w tym planie jest opanowanie przeze mnie języka Python w stopniu umożliwiającym tworzenie własnych aplikacji sieciowych. Z racji tego, że moje dotychczasowe działania były zorientowane właśnie na internet, ten kierunek wydaje mi się najbardziej naturalny i oczywisty. Oczywiście nie wykluczam po drodze także innych opcji, takich jak choćby skrypty na własny (i nie tylko) użytek.

Czytaj dalej »

Od Basica do Pythona, czyli krótka historia…

…mojej kariery jako programisty. Jeśli tylko na dzień dzisiejszy można to nazwać karierą. ;)

Wszystko zaczęło się gdzieś na początku lat dziewięćdziesiątych. Podejrzewam, że w okolicach 1993 albo 1994. Miałem Atari 65XE, który służył początkowo do dwóch celów: modlenia się, aby gra z kasety magnetofonowej nie wykrzaczyła się w dwudziestej minucie wczytywania, oraz zabawy tym białym prostokątem na niebieskim tle. Przynajmniej dopóki nie nauczyłem się biegle czytać i pisać, czyli gdzieś tak do roku 1995.

Czytaj dalej »

Wstęp do nurkowania

Nurkuję w Pythonie. Już sam tytuł bloga mówi dużo o tym, co tu się znajdzie. Nie będzie o parzeniu kawy ani ujarzmianiu węży, lecz o programowaniu. Ale chwila, jakim programowaniu?

Zaczęło się od niewinnej myśli o tym, żeby wrócić do nauki programowania (wrócić, a nie zacząć – ale o tym innym razem). Po kilku zdaniach z ^maxik.iem i długiej przechadzce po internecie padło w końcu na Pythona. Ażeby jednak entuzjazm nie uleciał po kilku dniach (godzinach?) zabawy, postanowiłem założyć bloga, w celu dokumentowania efektów nauki i motywowania się. Innymi słowy, celem tego miejsca, oprócz dzielenia się spostrzeżeniami i spowiadaniem się z lektury źródeł i przerabiania ćwiczeń, jest mówienie mi „rusz tyłek, nikt za Ciebie tego nie zrobi”.

Czytaj dalej »