Blog (2)
Komentarze (6)
Recenzje (0)

Szkółka dobrego programowania czyli Python cz.2

@joker-os Szkółka dobrego programowania czyli Python cz.231.07.2012 17:12

Dzień doberek. W dzisiejszej szkółce dobrego programowania poprawcujemy na znanych nam juz "zmiennych" oraz poznamy co to jest krotka oraz słownik. No to popracujemy na zmiennych:

Na sam początek przypiszemy wartości do zmiennych i spróbujemy wykonać na nich jakieś operacje arytmetyczne. No to do dzieła:

[code=Python] >>> a=12 >>> b=123 >>> print(a+b) 135 >>> print(a) 12 >>> print(a*b) 1476 >>> print(b) 123[/code]

Jak widać wykonałem na zmiennych 2 operacje arytmetyczne, a po sprawdzeniu wartości w zmiennej a i b wartość jest taka sama nasuwa się pytanie czemu? Odpowiedź jest prosta:

Ponieważ funkcja print() wyświetla tylko wynik wykonania operacji na zmiennych czyli funkcja print(). Bez zmiennych wygląda to następująco:

[code=Python]>>> print(12+123) 135[/code]

W tym wypadku akurat wygląda bez sensu użycie zmiennych ale przy większych operacjach bez sensu było by pisać każdą liczbę i ręcznie mnożyć dodawać. A czemu tak mówię bo możemy przypisać wynik do zmiennej i zmienną wynik wyświetlić np:

[code=Python]>>> a = 123 >>> b = 452 >>> wynik = a+b >>> print(wynik) 575[/code]

Jak widać wynik nie trzeba od razu wyświetla można go obrabiać dowoli i wyświetlić już gotowy wynik. Jak tak to spróbujmy zrobić operacje na 3 zmiennych i wyświetlić wynik:

[code=Python]>>> a = 12 >>> b = 123 >>> c = 12 >>> wynik = a + b * c >>> print (wynik) 1488[/code]

ITD. Można tak w wieczność polecam trochę po testować i po próbować.

A teraz zajmijmy się trochę tekstem bo Python znany jest z tego, że w bardzo łatwy i nawet przyjemny sposób można dowolnie edytować tekst oraz Python szybciej operuje tekstem niż jakimkolwiek obiektem. A więc stwórzmy sobie zmienną text i przypiszmy wartość "Ala ma kota" i spróbujmy z tekstu wyciągnąć samo słowo "ma".

No więc do roboty :)

[code=Python]>>> text = "Ala ma kota" >>> print(text[4:6]) ma[/code]

No to widać że uzyskaliśmy efekt taki jaki chcieliśmy ale jak to zostało wykonane i w jaki sposób? Czas powiedzieć coś o indeksach w tablicach ( w Pythonie mamy 4 typy tablicowe : krotka, lista, słownik oraz sety, ale o tym później narazie zachęcam do dalszego czytania ) .

A więc słowo tablica występuje w takich językach jak C++, Java, PHP itp. W Pythonie mamy typy tablicowe które posiadają takie coś jak index. Python ma to do siebie że tekst jest niby zapisany w jednej zmiennej ale naprawdę jest to tablica która każdy element ma w osobnym indeksie ( tak mi tłumaczono jak by ktoś miał uwagi będę na ten temat otwarty ). Postaram się to bardziej wytłumaczyć w postaci przykładu.

[code=Python]text = "Ala ma kota"[/code]

Jak widać dla nas ludzkim okiem wygląda że w zmiennej text znajduje się wartość "Ala ma kota" no tak niby tak jest ale dla interpretator i języka Python wygląda to troszkę inaczej:

[code=Python]text[0] = "A" text[1] = "l" text[2] = "a" text[3] = " " text[4] = "m" text[5] = "a" text[6] = " " text[7] = "k" text[8] = "o" text[9] = "t" text[10] = "a"[/code]

Tak więc dla tego tak łatwo wyciąć dany fragment z ciągu znaków. Teraz już wyjaśniam ciekawskim co to są za liczby w nawiasach kwadratowych, a więc to są właśnie są indeksy. Indeksy są to numerowane od zera pola do których możemy wstawiać wartości (ponoć najłatwiej się uczy przez wyobraźnie, a więc postaram się ją wam teraz pobudzić ).

ten niebieski prostokąt to nasza zmienna i wyobraźcie sobie że macie teraz zrobić 20 tyś zmiennych na raz. HMM . Może być to dość trudne czyż nie? I tu przychodzi nam na ratunek tablica, w naszej wyobraźni będzie ona wyglądała mniej więcej tak:

Jak widać w jednej zmiennej typu tablicowego mamy tak jakby wiele malutkich zmiennych, albo inaczej mówiąc w jednej zmiennej mamy wiele komórek ( lub szufladek jak kto woli ) gdzie wsadzamy karteczki z informacjami zapisanymi tam.

w praktyce zmienne tablicowe wyglądają w następujący sposób:

nazwaZmiennej = ["jakaś" , "Dowolna","Wartość]

Jak widać zdeklarowana została w Pythonie tak zwana lista. Czemu użyłem na samym początku własnie listy? Najprostszym typem tablicowym w Pythonie jest właśnie lista.

I już tłumacze czemu? Jest to najprostrzy typ tablicowy Pythonie ponieważ jest on już lekko zorientowany obiektowo ( postaram się dojść do obiektowości jak najszybciej na razie trzeba to przecierpieć z myślą że jest coś takiego jak obiektowość ) i ma swoje metody ( gotowe linie kodu do których odwołujemy się kropeczką i w łatwy sposób możemy je używać i w następnym przykładzie pokaże jak ) takie jak np:

sort, reverse, append i insert.

metoda append służy do dodania wartości na ostatnim miejscu w liście, sort służy do posortowania wartości alfabetycznie (jeżeli jest tam tekst) bądź rosnąco, reverse - metoda ta służy do odwracania kolejnosc elementów, insert - służy do wstawiania dowolnej liczby w odpowiedni indeks.

A oto przykład użycia listy i jej metod:

[code=Python] lista = [3, 4, 1, 2] >>> print(lista) [3, 4, 1, 2] >>> lista.append(6) >>> print(lista) [3, 4, 1, 2, 6] >>> lista.insert(1, 5) >>> print (lista) [3, 5, 4, 1, 2, 6] >>> lista.sort() >>> print (lista) [1, 2, 3, 4, 5, 6] >>> lista.reverse() >>> print (lista) [6, 5, 4, 3, 2, 1][/code]

Jak widać w insert w nawias wpisane są dwie informacje oddzielone przecinkiem nazywane są te "miejsca" argumentami metody ( wszystko postaram się wytłumaczyć przy obiektowości ) pierwszy argument oznacza w które miejsce ma zostać wstawiona watość w drugim argumencie ALE UWAGA !!!!

PAMIĘTAJMY ZAWSZE ŻE W PYTHONIE TYPY TABLICOWE ZACZYNAMY LICZYĆ OD ZERA!!!!

zróbmy sobie malutkie ćwiczonko, tak aby się trochę oderwać :) Na początku przeczytaj i sam spróbuj, a potem sprawdź czy masz podobnie lub jak nie bedziesz wiedzieć jak to czytelniku zobacz jak ja to zrobiłem

zadanie 1.

UWAGA pamiętajcie że tekst jest oznaczony cudzysłowem, czyli "Marian" to jest ciąg znaków. I jeszcze jedna sprawa o której wcześniej specjalnie nie mówiłem. Dla znających programowanie. W Python aby wyświetlić liste lub inny typ tablicowy nie trzeba używać pętli wystarczy funkcja print().

A teraz zdadanie: Spróbuj stworzyć listę w której będą znajdowały się takie nazwiska jak: 1. Nowak 2.Cisowski 3.Kochanowska 4.Kopernik

Oraz wyświetl listę

zadanie 2

Do utworzonej listy dopisz na sam koniec. Joker-os. Oraz wyświetl.

zadanie 3

Posortuj listę , oraz wyświetl.

A oto rozwiązanie:

Zadanie 1.

[code=Python] lista = ["Nowak","Cisowski","Kochanowska","Kopernik"] >>> print(lista) ['Nowak', 'Cisowski', 'Kochanowska', 'Kopernik'] [/code]

zadanie 2.

[code=Python]>>> lista.append("Joker-os") >>> print(lista) ['Nowak', 'Cisowski', 'Kochanowska', 'Kopernik', 'Joker-os'] [/code]

Zadanie 3.

[code=Python]>>> lista.sort() >>> print(lista) ['Cisowski', 'Joker-os', 'Kochanowska', 'Kopernik', 'Nowak'][/code]

Na razie to możemy powiedzieć UFFF i brawa dla osób które wykonały ćwiczenie poprawnie.

A teraz sprawa naszego tekstu przypominam :

[code=Python]>>> text = "Ala ma kota" >>> print(text[4:6]) ma[/code]

Jak już wiemy co oznacza nasz indeks i co to jest tablica. Czas teraz na rozgryzienie po co ten dwukropek i co on robi? Sprawa tu jest najprostsza do zrozumienia. A więc podczas chęci odczytania odpowiedniego indeksu używamy liczb

czyli wyświetlenie znaku w indeksie 4 będzie wyglądało tak.

[code=Python]text = "Ala ma kota" >>> print(text[4]) m[/code]

A znak dwukropka oznacza że od jakiego indeksu do jakiego chcemy odczytać tak więc jeżeli chcemy odczytać wartość od 4 do 5 to wpisujemy indeks końcowy o jeden większy czyli

[code=Python]>>> text = "Ala ma kota" >>> print(text[4:6]) ma[/code]

i mamy odpowiedź na nasze wcześniejsze pytanie :) Jeżeli coś nie zrozumiałe zawsze jest szansa podpytać się za pomocą komentarza ale na razie to koniec tego wpisu w następnym zajmiemy się dalej typami tablicowymi oraz warunkami i pętlami ile damy rade :) Na razie dziękuje i do usłyszenia.

Szanowna Użytkowniczko! Szanowny Użytkowniku!
×
Aby dalej móc dostarczać coraz lepsze materiały redakcyjne i udostępniać coraz lepsze usługi, potrzebujemy zgody na dopasowanie treści marketingowych do Twojego zachowania. Twoje dane są u nas bezpieczne, a zgodę możesz wycofać w każdej chwili na podstronie polityka prywatności.

Kliknij "PRZECHODZĘ DO SERWISU" lub na symbol "X" w górnym rogu tej planszy, jeżeli zgadzasz się na przetwarzanie przez Wirtualną Polskę i naszych Zaufanych Partnerów Twoich danych osobowych, zbieranych w ramach korzystania przez Ciebie z usług, portali i serwisów internetowych Wirtualnej Polski (w tym danych zapisywanych w plikach cookies) w celach marketingowych realizowanych na zlecenie naszych Zaufanych Partnerów. Jeśli nie zgadzasz się na przetwarzanie Twoich danych osobowych skorzystaj z ustawień w polityce prywatności. Zgoda jest dobrowolna i możesz ją w dowolnym momencie wycofać zmieniając ustawienia w polityce prywatności (w której znajdziesz odpowiedzi na wszystkie pytania związane z przetwarzaniem Twoich danych osobowych).

Od 25 maja 2018 roku obowiązuje Rozporządzenie Parlamentu Europejskiego i Rady (UE) 2016/679 (określane jako "RODO"). W związku z tym chcielibyśmy poinformować o przetwarzaniu Twoich danych oraz zasadach, na jakich odbywa się to po dniu 25 maja 2018 roku.

Kto będzie administratorem Twoich danych?

Administratorami Twoich danych będzie Wirtualna Polska Media Spółka Akcyjna z siedzibą w Warszawie, oraz pozostałe spółki z grupy Wirtualna Polska, jak również nasi Zaufani Partnerzy, z którymi stale współpracujemy. Szczegółowe informacje dotyczące administratorów znajdują się w polityce prywatności.

O jakich danych mówimy?

Chodzi o dane osobowe, które są zbierane w ramach korzystania przez Ciebie z naszych usług, portali i serwisów internetowych udostępnianych przez Wirtualną Polskę, w tym zapisywanych w plikach cookies, które są instalowane na naszych stronach przez Wirtualną Polskę oraz naszych Zaufanych Partnerów.

Dlaczego chcemy przetwarzać Twoje dane?

Przetwarzamy je dostarczać coraz lepsze materiały redakcyjne, dopasować ich tematykę do Twoich zainteresowań, tworzyć portale i serwisy internetowe, z których będziesz korzystać z przyjemnością, zapewniać większe bezpieczeństwo usług, udoskonalać nasze usługi i maksymalnie dopasować je do Twoich zainteresowań, pokazywać reklamy dopasowane do Twoich potrzeb. Szczegółowe informacje dotyczące celów przetwarzania Twoich danych znajdują się w polityce prywatności.

Komu możemy przekazać dane?

Twoje dane możemy przekazywać podmiotom przetwarzającym je na nasze zlecenie oraz podmiotom uprawnionym do uzyskania danych na podstawie obowiązującego prawa – oczywiście tylko, gdy wystąpią z żądaniem w oparciu o stosowną podstawę prawną.

Jakie masz prawa w stosunku do Twoich danych?

Masz prawo żądania dostępu, sprostowania, usunięcia lub ograniczenia przetwarzania danych. Możesz wycofać zgodę na przetwarzanie, zgłosić sprzeciw oraz skorzystać z innych praw wymienionych szczegółowo w polityce prywatności.

Jakie są podstawy prawne przetwarzania Twoich danych?

Podstawą prawną przetwarzania Twoich danych w celu świadczenia usług jest niezbędność do wykonania umów o ich świadczenie (tymi umowami są zazwyczaj regulaminy). Podstawą prawną przetwarzania danych w celu pomiarów statystycznych i marketingu własnego administratorów jest tzw. uzasadniony interes administratora. Przetwarzanie Twoich danych w celach marketingowych realizowanych przez Wirtualną Polskę na zlecenie Zaufanych Partnerów i bezpośrednio przez Zaufanych Partnerów będzie odbywać się na podstawie Twojej dobrowolnej zgody.