Python – lista

https://try.jupyter.org/   wirtualna konsola


 

Dobra ksiązka

http://elearning.otwartaedukacja.pl/pluginfile.php/218/mod_resource/content/4/pyprog.pdf

 wstawki

http://szgrabowski.kis.p.lodz.pl/Python-podstawy.html

http://uoo.univ.szczecin.pl/~jakubs/py/py6.html  (tab mnoz)

 

wazne  Big Data  format – HDF

 

http://ksopyla.com/data-science/big-data-na-dysku-czyli-jak-przetwarzac-pliki-hdf5-w-python/

create_dataset – tworzy dataset, czyli nic innego jak tablicę o z góry określonych wymiarach i typie danych.

create_group – tworzy grupę (folder), można podać całą ścieżkę w celu utworzenie podgrup.

iteracyjny –  przyrostowy alternatywa dla kaskadowych

TDD – Test driven develompent – pisanie automatycznych  testów funkcjonalnosci przed napisaniem progr.  test jednostkowy = funkcja lub metoda w klasie automatycznie sprawdzające czy kod poprawnie realizuje daną funkcjonalność

 

rekurencjareguła: każdy ojciec jest starszy od swojego syna; każdy ojciec jest czyimś synem. niezaprzeczalną zaletą rekurencji jest przejrzystość programów. Jedną z typowych sytuacji, w których stosuje się rekurencję jest przeszukiwanie struktury danych w postaci nieregularnego drzewa, np. plików XML. Funkcja, która sprawdza czy w danym obiekcie XML istnieje element o określonej zawartości

 

wskaźnik – W językach programowania pozwalających na bezpośredni dostęp do pamięci (jak np. asembler, C, C++, Cyclone) pamięć jest reprezentowana jako jednowymiarowa tablica bajtów – wszystkie zmienne (statyczne i dynamiczne) są umieszczane w tej „tablicy”.Wskaźnik jest indeksem do tej tablicy

Referencja – wartość, która zawiera informacje o położeniu innej wartości w pamięci lub nośniku danych. W odróżnieniu od wskaźników, zarządzanie referencjami realizowane jest wyłącznie przez kompilator lub interpreter, a programista nie posiada żadnych informacji o konkretnym sposobie implementacji referencji.

 

W Pythonie wartości, a nie zmienne, posiadają typ – tak więc Python jest językiem z typami dynamicznymi, podobnie jak Lisp, a w przeciwieństwie do Javy. Wszystkie wartości przekazywane są przez referencję.

 

Mirosław Zelent??


Intro to Python for Data Science

https://www.datacamp.com/courses/intro-to-python-for-data-science?utm_source=fb_paid&utm_medium=fb_desktop&utm_campaign=learnpython_visitors


books

Podręcznik programowania
w języku Python

http://astronomia.zagan.pl/pliki/python/Podrecznik_Pythona.pdf

Przegląd języków i paradygmatów
programowania

http://zuig.el.pcz.czest.pl/jackrat/progob/bylina.pdf

 

Typy danych i arytmetyka  w Pythonie

Click to access Adrian_Szumski_2016.pdf


 

listy krotki inne – Przykłady
http://uoo.univ.szczecin.pl/~jakubs/py/py5.html
array list
https://pl.python.org/docs/lib/module-array.html
uslugi
https://pl.python.org/docs/lib/misc.html
jeszcze raz do analizy
https://pl.python.org/docs/lib/lib.html

Podstawy

Przewodnik

Wykłady

Kurs Python 3 – lekcja 25 – Gui Tkinter – pierwsze okno

Python Kurs programowania. Odc. 15 GUI part 1.

Kurs Python 3 [#17] Wyjątki (Exceptions) – czarne tło

Dokumentacja oryginał

Django od podstaw 1:30 h

Ciekawa lekcja ang wzory

Lekcje w pdf

XML


Plan Przegląd podstawowych typów i konstrukcji języka

Zmienne, pedle i wyr warunkowe

pętle. Python dla kognitywistów

Pliki textowe

liczby pseudolosowe i pomiar czasu


1. Lista   Tworzenie i używanie list

http://uoo.univ.szczecin.pl/~jakubs/py/py5.html

>> lista1 = [1, 2, 3]

>> lista2 = [„pierwszy”, txt, txt2, „ostatni”]

>> lista3 = [1.0, 2, „trzy”]    Listy mogą zawierać elementy różnych typów:

>> lista4=[ [1, 2, 3], [„Nocny”, „Dzienny”] ]  Listy mogą zawierać inne listy:

>> lista_pusta = []

>> lista_jednoelementowa = [1]

> lista1[0]    Można odczytywać wybiórczo zawartość poszczególnych elementów listy: Lub ich ciągów:    >>> lista1[1:]     [2, 3]

>> lista2[0::3] # co trzeci element listy    [‚pierwszy’, ‚ostatni’]

Listy można powielać:

>>> lista2*=2    >> lista2

Skracać: Wydłużać:  Listy można powielać:  Można odczytywać wybiórczo zawartość poszczególnych elementów listy:

1.1 Modyfikacja list

Listy są sekwencjami zmiennymi, można więc modyfikować ich fragmenty: lub pojedyncze elementy:

>>> lista1  [1, 2, 3, 4]   >>> lista1[2]+=1   >>> lista1   [1, 2, 4, 4]

Można też usuwać elementy ze środka listy, tak   z użyciem instrukcji del, np.:   del lista2[1]

1.2    Porównywanie list

1.3   Sprawdzanie zawartości list

1.4   Listy wielopoziomowe

1. 5 Typ listy jako typ zmienny


2. Priorytety operatorów  w Pythonie

https://pl.python.org/docs/ref/node33.html

3.Metody

https://pl.python.org/docs/ref/node15.html

4.Hierarchia typów standardowych

Dynamiczny system plików  http://users.uj.edu.pl/~ufkapano/download/Adrian_Szumski_2016.pdf

dobrze ilozony opis

w http://users.uj.edu.pl/~ufkapano/download/Lukasz_Galuszka_2014.pdf
– wartości przypisywane do zmiennych przypisywane w trakcie dzialania programu
Nie ma deklaracji typów zmiennych
program w trakcie dzialania moze przechowywac wartosci roznych typów

Typy danych:

czesc typow to tkz kolekcje
(listy, krotki, slowniki,zbiory)

nothng = none                                                            #null
integer = 7                                                                     #liczba calkowita
real = 7,5                                                                         # l. zmiennoprzecinkowa
complex = 3 + 4j                                                            # l. zespolona
logocal = true                                                                  # typ logiczny
string = ‚hello’                                                                #napis
alist = [„one”, „two”]                                                      # lista
aset = set ([„one”, „two”])                                              # zbiór zmienny
afrozenset = frozenset ({4.0, ‚string’, True})          #zbior niezmienny
atuple = („1”, „mass”, „berryl”, continental”)       #krotka
adict = {„name”: „Jacob”, :age”:23}                          #słownik

https://pl.python.org/docs/ref/node14.html

5.słowa kluczowe

and del for is raise assert elif from lambda return break else global not try class except if or while continue exec import pass yield def finally in print

6.Operatory

+ – * **(potegowanie)  / // % << >> & | ^ ~ < > <= >= == !=

7.Rozgraniczniki

Następujące tokeny służą w gramatyce jako rozgraniczniki:

(       )       [       ]       {       }
,       :       .       `       =       ;
+=      -=      *=      /=      //=     %=      
&=      |=      ^=      >>=     <<=     **=

Kropka może pojawić się również jako część literału zmiennoprzecinkowego lub urojonego. Sekwencja trzech kropek ma specjalne znaczenie w wykrojeniach. Elementy drugiej połowy powyższej listy, tj. modyfikujące operatory przypisania, na poziomie leksykalnym służą rozdzielaniu tokenów, lecz powodują również wykonanie pewnych operacji.

Następujące drukowalne znaki ASCII mają specjalne znaczenie, jako części innych tokenów, ew. są w inny sposób znaczące dla analizatora leksykalnego:

'       "       #       \

Następujące drukowalne znaki ASCII nie są wykorzystywane w Pythonie. Ich wystąpienie poza literałami napisowymi i komentarzami bezwarunkowo powoduje błąd:

@       $       ?

8. krotki

W odróżnieniu od list, krotki są sekwencjami niezmiennymi, co powoduje różnice w sposobie ich modyfikacji.

>> krotka1=(1,2,3)

Krotki mogą zawierać elementy różnych typów:  >>> krotka2=(1.0, 2, „trzy”)

W tym sekwencyjnych  >>> krotka3=(krotka1, lista1)

Krotki mogą być puste: t= ()
# krotka pusta
Krotki mogą zawierać tylko jeden element
t= (6,)  # krotka jednoelementowa
t=(6) # liczba
Można odczytywać wybiórczo zawartość poszczególnych elementów krotki: Lub ich ciągów: krotka1[::2] # co drugi element krotki
Krotki można powielać: krotka1*=2
Skracać: krotka1=krotka1[:3]
Wydłużać: krotka1=krotka1+(4,)
 Modyfikacja krotek  Krotki są sekwencjami niezmiennymi, więc nie można modyfikować ich fragmentów:  ale mozna tak – krotka1=krotka1[:2]+(1,)+krotka1[3:]

Krotki są sekwencjami niezmiennymi, w związku z tym przypisanie krotki do krotki kopiuje faktyczne wartości, a nie jedynie wskaźnik do nich:

————————————————————
string split („Ala ma kota”)       rozdzielanie     wynik [‚Ala’, ‚ma’, ‚kota’]

x =[‚Ala’, ‚ma’, ‚kota’]    łączenie     string.join(x) (‚Ala ma kota’)



9. Konwersja typów sekwencyjnych

 

 

 

10. range – funkcja (lista)

>>> range(10)
[0, 1, 2, 3, 4, 5, 6, 7, 8, 9]

Aby przeglądnąć wszystkie elementy listy łączy się funkcje range() i len(), tak jak poniżej:

>>> a = ['Marysia', 'miała', 'małego', 'baranka']
>>> for i in range(len(a)):
...     print i, a[i]
...
0 Marysia
1 miała
2 małego
3 baranka

metoda sort

x = [4,3,13,4]

x.sort()     x= [3.4.4, 13]

Niektóre obiekty mogą zmieniać swój stan, inne nie:
zmienne: listy, słowniki, obiekty u ̇zytkownika
niezmienne: liczby, napisy, krotki
≤Krotki wyglądają b.podobnie do list, ale u ̇zywa si ̨e nawiasów (1,2,3)
≤ Dla krotek wycinanie, itd podobnie, ale nie działa np. sort


Łańcuchy znaków

Łańcuchy są podobne w swoich właściwościach do krotek. Podstawową
różnicą, jest to, że do krotek możemy przypisywać dowolne elementy a do
łańcuchów jedynie znaki


Wątek

wątki tego samego procesu korzystają ze wspólnego kodu i danych, maja jednak oddzielne stosy.
wątek – kolejny ciąg instrukcji wykonywanych w obrębie tych samych danych w tej samej przestrzeni adresowej)

SŁOWNIK

Mapowanie obiektu mapuje wartości hashable na dowolne obiekty.
Mapowanie są obiektami zmiennymi. Obecnie jest tylko jeden typ mapowania standardowego, słownik.   (W przypadku innych kontenerów znajduje się  lista wbudowanych, zestawów i tupli oraz moduł kolekcjonerski).

class dict(**kwarg)
class dict(mapping, **kwarg)
class dict(iterable, **kwarg)

clear()
copy() classmethod fromkeys(seq[, value])
get(key[, default])
items() keys() pop(key[, default])
Obiekt widoku słownika

Obiekty zwracane przez dict.keys (), dict.values ​​() i dict.items ()
są obiektami widoku. Dostarczają dynamicznego widoku wpisów w słowniku,
co oznacza, że ​​gdy słownik się zmienia, widok odzwierciedla te zmiany.

Widoki słowników mogą być iterowane w celu uzyskania ich danych
i wsparcia testów członkostwa:
len(dictview)
iter(dictview)
x in dictview


zakładki = tagi:)

Tabele numeryczne

Kiedyś już wspominałam o Pandas czyli bibliotece do Pythona, która umożliwia analizę danych a przy tym robi to bardzo wydajnie oraz jest łatwa i przyjemna w użyciu. Przy tym jest obecnie najpopularniejszą biblioteką do pracy z danymi tabelarycznymi w Pythonie.

W Pandas do przedstawiania danych tabelarycznych stosujemy tzw dataframe czyli dwuwymiarową strukturę, która dostarcza nam zestaw narzędzi do szybkiego przeglądania, analizowania i wizualizowania danych.

W czym Pandas jest lepsze od NumPy?

  • Jednym z powodów jest to, że w NumPy w tabeli mogliśmy mieć wyłącznie dane jednego typu. W Pandas te dane mogą mieć różne typy.
  • Przewagą Pandas jest również obiekt NaN, który umożliwia nam obsługę nie istniejących danych (na przykład pustych niektórych pól w tabeli).
  • Kolejna rzecz to możliwość odwoływania się do wierszy i kolumn nie tylko poprzez numery, ale również poprzez nazwy (label).
  • http://programistka.net/tag/python/

NumPy czyli pakietu szeroko stosowanego w przetwarzaniu danych w Pythonie

NumPy pozwala nam od razu z pliku zrobić sobie tablicę. Nie musimy pisać pętli by dane z pliku sobie do tablicy przypisać.

Webscraping – co to takiego?

Jest to proces automatycznego pobierania stron internetowych i wyciągania z nich interesujących nas informacji. Ponieważ dzieje się to automatycznie zajmuje to oczywiście mniej czasu niż gdybyśmy to chcieli zrobić ręcznie.

Tryby otwierania plików

r

w

 

a

r+

w+

a+

Tylko odczyt z pliku, który musi już istnieć

Tylko zapis do pliku. Jeśli plik nie istnieje, zostanie utworzony. Jeśli plik istnieje, zostanie podmieniona jego zawartość.

Tylko dopisanie do pliku. Jeśli plik nie istnieje, zostanie utworzony.

Odczyt i zapis do pliku, który musi już istnieć

Odczyt i zapis do pliku. Jeśli plik nie istnieje, zostanie utworzony. Jeśli plik istnieje, zostanie podmieniona jego zawartość.

Odczyt i zapis do pliku. Jeśli plik nie istnieje, zostanie utworzony


Struktury danych

Tablice

ciągów znaków

listy powiązań

drzewa (binarne)

Typy Metod – zbiory operacji

– porównawcze

-łączenia-przypisania

– powtarzania

operacje numeryczne

Typy sekwencji (kolekcji)

Listy [1,2,3]

słowniki { ‚krzysiek’ : 2233, ‚ewa’: 55}

krotki (tuple)(1, ”jeden”, (1, 2+3j, 0x4))

Obiekty

Elementy funkcji

1 Argumenty

2 operatory logiczne

and, or, not ==,! =, 1<y<3

3 komendy

4

Moduły

1 systemowe

2 matematyczne

3 programistyczne

4 bazodanowe

Klasy – system plików

Napisów

Słowników

Liczb całkowitych

Operatory and, or, p, q, in

instrukcja for-in, yield

operator.add(x,y)

operator.mul(x,y)

operator.pow(x,y)

Generator

to funkcja, która zwraca iterator

implementowanie funkcji generatorowe – yield

Metody kolekcji

iter: zainicjuj przeglądanie

next:

self

pointer

.data

licznik

range

dump

Wyrażenia logiczne

Prawda

True, wartości niepuste

Fałsz

0, False, None, [ ]

Formaty danych

Pliki tekstowe

Pliki z rekordami

Pliki CSV

Pliki *.ini

XML

I

Rodzaje strumieni danych

Plik dyskowy

Sieć komputerowa (url)

String

 

 

Skomentuj

Wprowadź swoje dane lub kliknij jedną z tych ikon, aby się zalogować:

Logo WordPress.com

Komentujesz korzystając z konta WordPress.com. Wyloguj /  Zmień )

Zdjęcie na Google

Komentujesz korzystając z konta Google. Wyloguj /  Zmień )

Zdjęcie z Twittera

Komentujesz korzystając z konta Twitter. Wyloguj /  Zmień )

Zdjęcie na Facebooku

Komentujesz korzystając z konta Facebook. Wyloguj /  Zmień )

Połączenie z %s