Zaawansowany kurs języka Python
|
|
- Dariusz Głowacki
- 9 lat temu
- Przeglądów:
Transkrypt
1 Wykład października 2015
2 Plan wykładu 1 2 Pliki tekstowe Trwałość obiektów CSV Strumienie
3 Plan wykładu 1 2 Pliki tekstowe Trwałość obiektów CSV Strumienie
4 Protokół iteracyjny Producent Umiem dostarczać kolejne elementy kolekcji po jednym elemencie, a jak już wszystkie dostarczę to poinformuję o tym. Konsument Daj kolejny element.
5 Konsumenci instrukcja for in operator in
6 Naiwna wersja implementacji protokołu Metody kolekcji iter: zainicjuj przeglądanie; next: zwróć element i przesuń wskaźnik; jeśli koniec zwróć None.
7 Przykładowa implementacja class Kolekcja: def init (self): self.data = [ jeden, dwa, trzy ] def iter(self): self.pointer = 0 def next(self): if self.pointer < len(self.data): self.pointer += 1 return self.data[self.pointer - 1] else : return None
8 Wady rozwiązania suma = 0 for x in wek 1: for y in wek 2: suma += x*y
9 Wady rozwiązania wek 1 = wek 2 = Kolekcja() suma = 0 for x in wek 1: for y in wek 2: suma += x*y
10 Postulat Fajnie byłoby, żeby jedną kolekcję dało się przeglądać jednocześnie w kilku miejscach
11 Postulat Fajnie byłoby, żeby jedną kolekcję dało się przeglądać jednocześnie w kilku miejscach Diagnoza problemu Kłopot jest dlatego, że jest tylko jeden wskaźnik do przeglądania.
12 Postulat Fajnie byłoby, żeby jedną kolekcję dało się przeglądać jednocześnie w kilku miejscach Diagnoza problemu Kłopot jest dlatego, że jest tylko jeden wskaźnik do przeglądania. Rozwiązanie problemu Każdy konsument (pętla, wątek etc.) otrzymuje własny wskaźnik przeglądania.
13 Implementacja przeglądania kolekcji Protokół (Python 3.*) Na początku wywoływana jest metoda iter ;
14 Implementacja przeglądania kolekcji Protokół (Python 3.*) Na początku wywoływana jest metoda iter ; zwróconą wartością powinien być obiekt (enumerator) implementujący metodę next () która za każdym wywołaniem zwraca kolejny element kolekcji
15 Implementacja przeglądania kolekcji Protokół (Python 3.*) Na początku wywoływana jest metoda iter ; zwróconą wartością powinien być obiekt (enumerator) implementujący metodę next () która za każdym wywołaniem zwraca kolejny element kolekcji Metoda next () jest wywoływana tak długo, póki nie zostanie zgłoszony wyjątek StopIteration
16 Implementacja przeglądania kolekcji Protokół (Python 3.*) Na początku wywoływana jest metoda iter ; zwróconą wartością powinien być obiekt (enumerator) implementujący metodę next () która za każdym wywołaniem zwraca kolejny element kolekcji Metoda next () jest wywoływana tak długo, póki nie zostanie zgłoszony wyjątek StopIteration Python 2.* Zamiast next jest next.
17 Przykład Zadanie Implementacja kolekcji zwracającej kolejne liczby od 1 do 10
18 Przykład Zadanie Implementacja kolekcji zwracającej kolejne liczby od 1 do 10 Implementacja class ListaLiczb: def iter (self): self.licznik = 0 return self def next (self): if self.licznik >= 10: raise StopIteration self.licznik += 1 return self.licznik
19 Nieskończona lista liczb naturalnych Iterator class IntIterator(object): def init (self): self.licznik = 0 def next (self): wynik = self.licznik self.licznik += 1 return wynik Implementacja kolekcji class IntCollection(object): def iter (self): return IntIterator()
20 Zastosowanie Obliczyć max(σ i=0 i) takie że Σ i=0 i < 100
21 Zastosowanie Obliczyć max(σ i=0 i) takie że Σ i=0 i < 100 Rozwiązanie suma = 0 for i in IntCollection(): if suma + i >= 100: break suma += i
22 Jawne użycie iteratorów >>> l = [1,2,3] >>> it = iter(l) >>> it. next () 1 >>> next(it) 2 >>> next(it) 3 >>> next(it) Traceback (most recent call last): File <stdin>, line 1, in <module> StopIteration
23 Uwagi Pytanie Czy zawsze pożądane jest posiadanie więcej niż jednego iteratora?
24 Uwagi Pytanie Czy zawsze pożądane jest posiadanie więcej niż jednego iteratora? Kontrprzykład Przetwarzanie plików.
25 Ważne filter map reduce
26 Ważne filter map reduce Python 2.* Funkcje zwracają listę Python 3.* Funkcje zwracają iterator
27 Progamowanie funkcjonalne Operatory (moduł operator) operator.add(x,y) operator.mul(x,y) operator.pow(x,y)...
28 Progamowanie funkcjonalne Operatory (moduł operator) operator.add(x,y) operator.mul(x,y) operator.pow(x,y)... Iloczyn skalarny sum(map(operator.mul, vector1, vector2))
29 Iterator a lista Python 3.* list(filter(lambda x : x > 2, [1,2,3,4]))
30 Biblioteka itertools Mnóstwo funkcji produkujących generatory
31 Biblioteka itertools Mnóstwo funkcji produkujących generatory Kolejne potęgi 2 it = map(lambda x : 2**x, itertools.count()) next(it) next(it) next(it)...
32 Definicje Generator Generator to funkcja, która zwraca iterator.
33 Definicje Generator Generator to funkcja, która zwraca iterator. Wyrażenie generatorowe Wyrażenie generatorowe to wyrażenie, która zwraca iterator.
34 Jak implementować funkcje generatorowe yield
35 Wykorzystanie yield Implementacja nieskończonej listy potęg 2 def power2(): power = 1 while True: yield power power = power * 2 it = power2() for x in range(4): print next(it)
36 Wykorzystanie yield Implementacja nieskończonej listy potęg 2 def power2(): power = 1 while True: yield power power = power * 2 it = power2() for x in range(4): print next(it) Nieskończona pętla for i in power2(): print i
37 Wyrażenia generatorowe Instrukcja wyr generatorowe = (i** 2 for i in range(5)) jest równoważna def wyr generatorowe(): for i in range(5): yield i**2
38 Zastosowanie String szesnastkowo :.join( :02x.format(ord(c)) for c in s)
39 Plan wykładu Pliki tekstowe Trwałość obiektów CSV Strumienie 1 2 Pliki tekstowe Trwałość obiektów CSV Strumienie
40 Operacje na plikach Pliki tekstowe Trwałość obiektów CSV Strumienie Otwarcie i zamknięcie pliku fh = open( plik, r )... fh.close() Atrybuty otwarcia r odczyt w zapis a dopisanie r+ odczyt i zapis rb, wb, ab odczyt i zapis binarny (tylko Windows i Macintosh)
41 Metody czytania pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Odczyt całego pliku fh.read() Odczyt tylko size znaków fh.read(size) Odczyt wiersza, wraz ze znakiem \n fh.readline() Zwraca listę odczytanych wierszy fh.readlines()
42 Odczyt pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Przykład fh = open( test.py, r ) while True: wiersz = fh.readline() if len(wiersz) == 0: break print wiersz, fh.close()
43 Odczyt pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Przykład fh = open( test.py, r ) while True: wiersz = fh.readline() if len(wiersz) == 0: break print wiersz, fh.close() Inny przykład fh = open( test.py, r ) for wiersz in fh: print wiersz,
44 Zapis do pliku Pliki tekstowe Trwałość obiektów CSV Strumienie fh.write( dane zapisywane do pliku\n ) fh.writelines([ to\n, są\n, kolejne\n, wiersze\n ])
45 Zamykanie pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Uwaga Zawsze należy zamykać pliki. Przykład try: fh = open( nieistniejacy, r ) data = fh.read() finally: fh.close()
46 Zamykanie pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Uwaga Zawsze należy zamykać pliki. Przykład try: fh = open( nieistniejacy, r ) data = fh.read() finally: fh.close() Alternatywne zamykanie pliku del fh
47 Zamykanie pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Porada with open( nieistniejacy, r ) as fh: data = fh.read()
48 Zamykanie pliku Pliki tekstowe Trwałość obiektów CSV Strumienie Porada with open( nieistniejacy, r ) as fh: data = fh.read() Uwaga Dopiero od 2.5, przy włączonej opcji with statement. Dostępne na stałe od 2.6.
49 Formaty danych Pliki tekstowe Trwałość obiektów CSV Strumienie Pliki tekstowe Pliki z rekordami Pliki CSV Pliki *.ini XML...
50 Pliki tekstowe Trwałość obiektów CSV Strumienie Przechowywanie obiektów w pliku: pakiet pickle Zapis obiektu import pickle obj = Obj() fh = open( plik.obj, w ) pickle.dump(obj, fh) fh.close() Odczyt obiektu fh = open( plik.obj, r ) obj = pickle.load(fh) fh.close()
51 Comma Separated Values CSV Pliki tekstowe Trwałość obiektów CSV Strumienie Dane osobowe imie1, nazwisko1, , 3 imie2, nazwisko3, , 2 Dane giełdowe 04PRO, :17:33.0,C/P/M,2.97,2.97,3.0,2.92, VICT, :18:01.0,C/P/S,0.84,0.84,0.86,0.84, MAGNA, :18:43.0,C/P/S,1.15,1.15,1.17,1.14,1.14
52 Parametry formatu Pliki tekstowe Trwałość obiektów CSV Strumienie delimiter separator, np., ; : lineterminator koniec wiersza quotechar znak cudzysłowu quoting kiedy ujmować pola w cudzysłów; QUOTE ALL, QUOTE NONNUMERIC, QUOTE NONE
53 CSV - dialekty Pliki tekstowe Trwałość obiektów CSV Strumienie Dialekt: domyślne parametry, np. dialekt excel Możliwość dodania własnego dialektu
54 Odczyt CSV Pliki tekstowe Trwałość obiektów CSV Strumienie Przykład import csv reader = csv.reader( open( /etc/passwd, r ), delimiter= :, quoting=csv.quote NONE) for row in reader: print row
55 Zapis w formacie CSV Pliki tekstowe Trwałość obiektów CSV Strumienie Przykład import csv data = [ [1, Kubus ], [2, Puchatek ] ] writer = csv.writer( open( out, w ), dialect=csv.excel) writer.writerows(data)
56 CSV słowniki Pliki tekstowe Trwałość obiektów CSV Strumienie Data;FS;FO;FOE;FSW;FZ;FPA;FRP;FANE; ; ;183.01;101.80;123.63; ; ;183.11;101.95;123.48; ; ;183.06;101.93;123.43;
57 Przetwarzanie słowników Pliki tekstowe Trwałość obiektów CSV Strumienie fh = open( notowania.csv, r ) reader = csv.dictreader(fh, delimiter= ; ) for row in reader: for k in row.keys(): print k, row[k]
58 CSV, słowniki cd. Pliki tekstowe Trwałość obiektów CSV Strumienie Własne nazwy kolumn fh = open( notowania.csv, r ) klucze = [ lp, name ] reader = csv.dictreader(fh, fieldnames= klucze) for row in reader: print row[ lp ], row[ name ]
59 Strumienie; motywacje Pliki tekstowe Trwałość obiektów CSV Strumienie def przegladaj notowania(zrodlo): reader = csv.dictreader(zrodlo, delimiter= ; ) for row in reader: for k in row.keys(): print k, row[k] Wywołanie funkcji przegladaj notowania( dane.csv ) url = przegladaj notowania(url)
60 Rodzaje strumieni danych Pliki tekstowe Trwałość obiektów CSV Strumienie Plik dyskowy Sieć komputerowa (url) String...
61 Własności strumieni Pliki tekstowe Trwałość obiektów CSV Strumienie implementacja kolekcji.read().read(size).write(buf).close()...
62 Implementacja funkcji Pliki tekstowe Trwałość obiektów CSV Strumienie def przegladaj notowania(zrodlo): reader = csv.dictreader(zrodlo, delimiter= ; ) for row in reader: for k in row.keys(): print k, row[k]
63 Pliki tekstowe Trwałość obiektów CSV Strumienie Plik dyskowy in stream = open( dane.csv, r ) przegladaj notowania(in stream) in stream.close() Internet import urllib url = in stream = urllib.urlopen(url) przegladaj notowania(in stream) in stream.close()
64 String jako strumień Pliki tekstowe Trwałość obiektów CSV Strumienie String jako strumień str = ;12.45;45.78 import StringIO in stream = StringIO.StringIO(str) przegladaj notowania(in stream) in stream.close()
Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie
Kurs języka Python Wykład 6. Pliki tekstowe Pliki rekordów Pliki CSV Strumienie Operacje na plikach Otwarcie i zamknięcie pliku: fh = open('plik', 'r') Atrybuty: 'r' odczyt 'w' zapis 'a' dopisanie 'r+'
Ćwiczenie 5. Python 3: Programowanie obiektowe i dziedziczenie
Wizualizacja danych Ćwiczenie 5 Python 3: Programowanie obiektowe i dziedziczenie Dziedziczenie Mając klasę bazową możemy utworzyć klasę pochodną, która będzie dziedziczyć po klasie bazowej czyli będzie
Kurs rozszerzony języka Python
Wykład 2. 13 października 2017 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Plan wykładu Klasy i obiekty 1 Klasy i obiekty 2 3 4 Deklaracja klasy Klasy i obiekty Przykłady class Figura: Pierwsza
Podstawy programowania w Pythonie
Podstawy programowania w Pythonie Wykład 6 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 21 listopada 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania
Programowanie obiektowe
Wykład 4 Piotr Błaszyński Wydział Inmatyki Zachodniopomorskiego Uniwersytetu Technologicznego 16 lutego 2018 i zawieranie się, gromadzenie elementów nowa klasa powstaje przez użycie obiektów klas już istniejących,
Kurs języka Python. Wykład 11. Marcin Młotkowski. 4 stycznia Kontrola poprawności podczas biegu programu. 2 Testowanie oprogramowania
Wykład 11. 4 stycznia 2010 1 Kontrola poprawności podczas biegu programu 2 3 4 Asercje Asercja to formuła logiczna; Asercji używa się do kontrolowania czy np. wartość zmiennej ma odpowiedni typ lub mieści
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML
Kurs języka Python Wykład 8. Przetwarzanie tekstu Wyrażenia regularne Biblioteka urllib Parsowanie html'a XML Wyrażenia regularne c:\> dir *.exe $ rm *.tmp Wyrażenia regularne 'alamakota' '(hop!)*' { '',
Kurs języka Python. Lista 1.
2 października 2015 Lista 1. Zadanie 1. Zaprogramuj funkcję rzut_kostka(), która symuluje rzut sześcienną kością do gry, tzn. funkcja ma zwracać losową liczbę naturalną z przedziału [1... 6]. Korzystając
Python. Wprowadzenie. Jolanta Bachan
Python Wprowadzenie Jolanta Bachan Zainstaluj i przetestuj Pythona https://www.python.org/downloads/ print 'Hello world!' operatory numeryczne: + - * / // % ** operatory porównania: ==!= > < >=
Zaawansowany kurs języka Python
Wykład 5. 30 października 2013 Plan wykładu 1 2 3 4 yield from Zamiast Example for item in iterable: yield item: można pisać Example yield from iterable Plan wykładu 1 2 3 4 Przykłady wyrażeń regularnych
Informatyka 2015/16 wykład 9. Pliki Sterowanie przebiegiem programu cz. 2. Dr inż. Witold Nocoń (p. 230)
Informatyka 2015/16 wykład 9 Pliki Sterowanie przebiegiem programu cz. 2 Dr inż. Witold Nocoń (p. 230) Pliki Pliki dzielą się na dwa rodzaje: Pliki tekstowe (zawartość pliku jest typu string) Pliki binarne
Wstęp do programowania
Wstęp do programowania Programowanie funkcyjne Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. XIV Jesień 2013 1 / 25 Paradygmaty programowania Programowanie imperatywne Program
Zaawansowany kurs języka Python
Wykład 6. 6 listopada 2015 Plan wykładu Callable objects 1 Callable objects 2 3 Plan wykładu Callable objects 1 Callable objects 2 3 Callable objects Wszystko jest obiektem. Callable objects Wszystko jest
Język Python (2) Język Python (2) 1/36
Język Python (2) Język Python (2) 1/36 Język Python (2) 2/36 Podstawy funkcji Pojęcia podstawowe Instrukcja def tworzy obiekt funkcji i przypisuje go do nazwy Instrukcja return przekazuje obiekt wynikowy
Python i programowanie funkcyjne. Python i programowanie funkcyjne czyli nie tylko obiektowość rządzi. OSEC Funkcyjnie w języku Python 1 z 40
czyli nie tylko obiektowość rządzi 1 z 40 O czym będę mówił... Jak najmniej teorii bo nie czas i miejsce... Próba odpowiedzi na pythanie: Czy warto programować nie tylko obiektowo? Jak język Python wspiera
Spis treści. Dekoratory. 1 Dekoratory 1.1 Zadanie Zadanie Zadanie Zadanie 4
Spis treści 1 Dekoratory 1.1 Zadanie 1 1.2 Zadanie 2 1.3 Zadanie 3 1.4 Zadanie 4 Dekoratory Dekoratory w Pythonie służą do zastępowania zdefiniowanych przez nas funkcji przez funkcje (lub inne obiekty)
Język Python. Język Python 1/35
Język Python Język Python 1/35 Język Python 2/35 Wstęp Uruchamianie interpretera python Skrypty wykonywalne #!/usr/bin/python #!/usr/bin/env python lub #!/usr/bin/python3 #!/usr/bin/env python3 chmod +x
Biblioteka standardowa - operacje wejścia/wyjścia
Biblioteka standardowa - operacje wejścia/wyjścia Przemysław Gawroński D-10, p. 234 Wykład 6 15 stycznia 2019 (Wykład 6) Biblioteka standardowa - operacje wejścia/wyjścia 15 stycznia 2019 1 / 14 Outline
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni. Wykład 6. Karol Tarnowski A-1 p.
Programowanie proceduralne INP001210WL rok akademicki 2018/19 semestr letni Wykład 6 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji Wskaźnik do pliku Dostęp do pliku: zapis, odczyt,
Programowanie obiektowe
Programowanie obiektowe Język programowania Ruby Marcin Młotkowski 12 kwietnia 2018 Plan wykładu 1 Wstęp 2 Typy numeryczne Łańcuchy znaków (klasa String) Przedziały Tablice i tablice asocjacyjne Nazwy
Zaawansowany kurs języka Python
DBM, SQL 10 listopada 2011 Rodzaje baz danych Trwałe słowniki Klient-serwer SQL Bekreley DB Gnu dbm (n)dbm Firebird Sqlite Oracle MySQL PostgeSQL DB/2 Plan wykładu 1 Bazy danych DBM 2 3 4 Grafowe bazy
Programowanie w Sieci Internet. Python: Operacje z plikami oraz obsługa wyjątków
Programowanie w Sieci Internet Python: Operacje z plikami oraz obsługa wyjątków Kraków, 5 grudnia 2014 r. mgr Piotr Rytko Wydział Matematyki i Informatyki Otwieranie plików Otwieranie plików jest realizowane
Środowisko programisty
Środowisko programisty 1/35 Środowisko programisty Język Python cz. 3 dr inż. Grzegorz Michalski 7 kwietnia 2014 Środowisko programisty 2/35 Kod samotestujący Tworzenie def t e s t e r ( ) : p r i n t
Programowanie w Ruby
Programowanie w Ruby Wykład 6 Marcin Młotkowski 14 listopada 2012 Plan wykładu Trwałość obiektów Bazy danych DBM Bazy danych SQL Active records Szeregowanie obiektów Obiekt Serializacja @tytul = 'Pan Tadeusz'
Podstawy programowania w Pythonie
Podstawy programowania w Pythonie Wykład 2 dr Andrzej Zbrzezny Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie 10 października 2012 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy. Wykład 12. Karol Tarnowski A-1 p.
Wstęp do programowania INP001213Wcl rok akademicki 2017/18 semestr zimowy Wykład 12 Karol Tarnowski karol.tarnowski@pwr.edu.pl A-1 p. 411B Plan prezentacji (1) Obsługa łańcuchów znakowych getchar(), putchar()
Kurs rozszerzony języka Python
Wykład 1. 6 października 2017 Plan wykładu 1 2 3 4 Plan wykładu 1 2 3 4 Wykładowca: Termin wykładu: piątek, 10:15 12:00, sala 119 Strona wykładu http://www.ii.uni.wroc.pl/ marcinm/dyd/python Materiały
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ ]
JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA Marcin Lewandowski [ mlew@ippt.gov.pl ] PYTHON 3 2 Int int jest obecnie odpowiednikiem dawnego long int nie ma wartości maksymalnej (sys.maxint) 2/4 == 0.5
Metody getter https://www.python-course.eu/python3_object_oriented_programming.php 0_class http://interactivepython.org/runestone/static/pythonds/index.html https://www.cs.auckland.ac.nz/compsci105s1c/lectures/
Zaawansowany kurs języka Python
Wykład 1. 4 października 2013 Plan wykładu 1 2 3 4 Typy proste Kolekcje Instrukcje w języku (przypomnienie) Wykładowca: Termin wykładu: piątek, 10:15 12:00, sala 119 Strona wykładu http://www.ii.uni.wroc.pl/
Wstęp do programowania
Wstęp do programowania Funkcje Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. V Jesień 2013 1 / 32 Funkcje Funkcje w matematyce f : D W D dziedzina W zbiór wartości Funkcja może
Wykład II. Programowanie II - semestr II Kierunek Informatyka. dr inż. Janusz Słupik. Wydział Matematyki Stosowanej Politechniki Śląskiej
Wykład II - semestr II Kierunek Informatyka Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2015 c Copyright 2015 Janusz Słupik Operacje dyskowe - zapis do pliku #include #include
Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski
Podstawy Pythona Krzysztof Gdawiec Instytut Informatyki Uniwersytet Śląski Słownik jest typem mutowalnym. Każdy element to para: klucz wartość. W celu stworzenia słownika pary klucz wartość umieszczamy
System operacyjny Linux
Paweł Rajba pawel.rajba@continet.pl http://kursy24.eu/ Zawartość modułu 6 Język bash Pierwszy skrypt Rozwinięcia parametryczne Bloki instrukcji Dwa przydatne polecenia Tablice Sprawdzanie warunków Instrukcje
Java Zadanie 1. Aby poprawnie uruchomić aplikację desktopową, należy zaimplementować główną metodę zapewniającą punkt wejścia do programu.
Wstęp Java Zadanie Celem laboratorium jest zapoznanie się z podstawami platformy oraz języka Java. W ramach zadania należy przygotować aplikację zarządzania notatkami użytkownika obsługiwaną z konsoli.
Kurs rozszerzony języka Python
Wykład 6. 10 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Wszystko jest obiektem. Wszystko jest obiektem. A funkcje? Przykład def foo(x): return 2*x dir(foo) Przykład def foo(x): return 2*x dir(foo)
Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan
Podstawy programowania: Python Wprowadzenie Jolanta Bachan Informacje do kontaktu email: jolabachan@gmail.com strona internetowa: http://bachan.speechlabs.pl/ dyżury w sali 312aB środa, 9:30-10:00 czwartek,
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu.
Sposoby tworzenia projektu zawierającego aplet w środowisku NetBeans. Metody zabezpieczenia komputera użytkownika przed działaniem apletu. Dr inż. Zofia Kruczkiewicz Dwa sposoby tworzenia apletów Dwa sposoby
Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 3, część 3 1 Język JAVA podstawy Plan wykładu: 1. Konstrukcja kodu programów w Javie 2. Identyfikatory, zmienne 3. Typy danych 4. Operatory, instrukcje sterujące instrukcja warunkowe,
Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową
Plan 1 Uwagi na temat wydajności CPython a 2 Podstawowe techniki poprawiające wydajność obliczeniową 3 Podstawowe techniki poprawiające zużycie pamięci krótkie opisy modułów 1 array - jak oszczędzić na
Wykład 6 Dziedziczenie cd., pliki
Wykład 6 Dziedziczenie cd., pliki Autor: Zofia Kruczkiewicz 1. Dziedziczenie cd. 2. Pliki - serializacja Zagadnienia 1. Dziedziczenie aplikacja Kalkultory_2 typu Windows Forms prezentująca dziedziczenie
Kurs rozszerzony języka Python
8 grudnia 2017 Plan wykładu 1 2 3 4 5 Środowisko StoryText gtklogger Plan wykładu 1 2 3 4 5 Środowisko StoryText gtklogger Asercje Asercja to formuła logiczna; Asercji używa się do kontrolowania czy np.
Metody numeryczne Laboratorium 2
Metody numeryczne Laboratorium 2 1. Tworzenie i uruchamianie skryptów Środowisko MATLAB/GNU Octave daje nam możliwość tworzenia skryptów czyli zapisywania grup poleceń czy funkcji w osobnym pliku i uruchamiania
Dekoratora używa się wstawiając linijkę zaczynającą się przed definicją dekorowanego obiektu (klasy czy funkcji).
Dekoratory są w miarę ezoteryczną cechą Pythona w przeciwieństwie do funkcji, klas czy iteratorów nie są powszechną cechą języków programowania. Niemniej, warto je omówić mimo wszystko, gdyż są niezwykle
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych. Może posiadać określone atrybuty, a odwołanie do niego odbywa się poprzez nazwę. Każdy plik ma skończoną
Język Python (3) Język Python (3) 1/35
Język Python (3) Język Python (3) 1/35 Język Python (3) 2/35 Kod samotestujący Tworzenie def t e s t e r ( ) : p r i n t ( "Wywołanie funkcji testujacych..." ) i f n ame == main : t e s t e r ( ) Język
Programowanie funkcyjne w Pythonie
Programowanie funkcyjne w Pythonie Koªo DSG 2013 Konrad Siek konrad.siek@cs.put.edu.pl dsg.cs.put.poznan.pl Paradygmat funkcyjny Paradygmat = sposób my±lenia o problemach Paradygmat funkcyjny Paradygmat
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Języki i metody programowania
Języki i metody programowania Wykład 4 dr hab. Bożena Woźna-Szcześniak bwozna@gmail.com Instytut Matematyki i Informatyki Akademia Jana Długosza w Częstochowie hab. Andrzeja Zbrzezngo Podstawy języka Python
Podstawy programowania skrót z wykładów:
Podstawy programowania skrót z wykładów: // komentarz jednowierszowy. /* */ komentarz wielowierszowy. # include dyrektywa preprocesora, załączająca biblioteki (pliki nagłówkowe). using namespace
Funkcje zawarte w bibliotece < io.h >
PLIKOWE OPERACJE WEJŚCIA - WYJŚCIA Język C/C++ nie ma wbudowanych żadnych instrukcji umożliwiających wykonywanie operacji wejścia-wyjścia! Służą do tego funkcje biblioteczne. Funkcje zawarte w bibliotece
Kurs rozszerzony języka Python
Wykład 5. 3 listopada 2017 Plan wykładu 1 2 3 Plan wykładu 1 2 3 Przykłady wyrażeń regularnych W systemie windows c:\windows\system32> dir *.exe Wynik accwiz.exe actmovie.exe ahui.exe alg.exe append.exe
Języki programowania. Przetwarzanie plików amorficznych Konwencja języka C. Część siódma. Autorzy Tomasz Xięski Roman Simiński
Języki programowania Część siódma Przetwarzanie plików amorficznych Konwencja języka C Autorzy Tomasz Xięski Roman Simiński Niniejsze opracowanie zawiera skrót treści wykładu, lektura tych materiałów nie
Wykresy i interfejsy użytkownika
Wrocław, 07.11.2017 Wstęp do informatyki i programowania: Wykresy i interfejsy użytkownika Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Instrukcje sterujące Biblioteka
Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób.
Zadanie: Zadanie polega na stworzeniu bazy danych w pamięci zapewniającej efektywny dostęp do danych baza osób. Na kolejnych zajęciach projekt będzie rozwijana i uzupełniana o kolejne elementy omawiane
Podstawy i języki programowania
Podstawy i języki programowania Laboratorium 8 - wprowadzenie do obsługi plików tekstowych i wyjątków mgr inż. Krzysztof Szwarc krzysztof@szwarc.net.pl Sosnowiec, 11 grudnia 2017 1 / 34 mgr inż. Krzysztof
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python.
Aby uzyskać zaliczenie w pierwszym terminie (do 30 stycznia 2018) rozliczyć trzeba co najmniej 8 projektów, po 4 z każdej z części: C++ oraz Python. Pliki z rozwiązaniami projektu (wszystkie polecenia
Pliki. Informacje ogólne. Obsługa plików w języku C
Pliki Informacje ogólne Plik jest pewnym zbiorem danych, zapisanym w systemie plików na nośniku danych (np. dysku twardym, pendrive, płycie DVD itp.). Może posiadać określone atrybuty, a odwołanie do niego
Operacje wejścia/wyjścia (odsłona druga) - pliki
Operacje wejścia/wyjścia (odsłona druga) - pliki Bogdan Kreczmer ZPCiR IIAiR PWr pokój 307 budynek C3 bogdan.kreczmer@pwr.wroc.pl Copyright c 2005 2008 Bogdan Kreczmer Niniejszy dokument zawiera materiały
Podstawowe I/O Liczby
Podstawowe I/O Liczby Informatyka Jolanta Bachan Implementacja algorytmów, cd. I/O: Keyboard in, screen out, no loops Jolanta Bachan 2 Implementacja algorytmów, cd. I/O: Keyboard in, screen out, no loops
SZKOLENIE WPROWADZENIE DO R UNIWERSYTET SZCZECIŃSKI al. Papieża Jana Pawła II nr 22a Szczecin
SZKOLENIE WPROWADZENIE DO R UNIWERSYTET SZCZECIŃSKI al. Papieża Jana Pawła II nr 22a 70-453 Szczecin 2 Lp. Temat Numer części materiałów 1 Język R oraz środowisko RStudio 1 2 Składnia języka 3 3 Podstawowe
Języki skryptowe w programie Plans
Języki skryptowe w programie Plans Warsztaty uŝytkowników programu PLANS Kościelisko 2010 Zalety skryptów Automatyzacja powtarzających się czynności Rozszerzenie moŝliwości programu Budowa własnych algorytmów
Podstawy. Jan Koprowski <jan.koprowski@gmail.com> Politechnika Gdańska, FTiMS Informatyka Stosowana
Podstawy 1 Plan prezentacji Garść informacji Komentarze Stringi Wbudowane typy liczbowe Konstrukcja print Pobieranie danych Konstrukcja if Konstrukcja if else Konstrukcja if elif else Pętla while Pętla
Kurs rozszerzony języka Python
Wykład 3. 20 października 2017 Plan wykładu 1 2 Rodzaje kolekcji Przetwarzanie kolekcji 3 4 5 i funkcje Efektywność list Koniec Plan wykładu 1 2 Rodzaje kolekcji Przetwarzanie kolekcji 3 4 5 i funkcje
Wstęp do Pythona. Janusz Szwabiński. Python w obliczeniach numerycznych (C) 2005 Janusz Szwabiński p.1/36
Wstęp do Pythona Janusz Szwabiński szwabin@ift.uni.wroc.pl Python w obliczeniach numerycznych (C) 2005 Janusz Szwabiński p.1/36 Wstęp do Pythona Zasoby w sieci Python jako zaawansowany kalkulator Pierwszy
Uwagi dotyczące notacji kodu! Moduły. Struktura modułu. Procedury. Opcje modułu (niektóre)
Uwagi dotyczące notacji kodu! Wyrazy drukiem prostym -- słowami języka VBA. Wyrazy drukiem pochyłym -- inne fragmenty kodu. Wyrazy w [nawiasach kwadratowych] opcjonalne fragmenty kodu (mogą być, ale nie
Ćwiczenie 1. Wprowadzenie do programu Octave
Politechnika Wrocławska Wydział Elektroniki Mikrosystemów i Fotoniki Przetwarzanie sygnałów laboratorium ETD5067L Ćwiczenie 1. Wprowadzenie do programu Octave Mimo że program Octave został stworzony do
Języki programowania imperatywnego
Katedra Inżynierii Wiedzy laborki 10 Jeszcze o plikach i katalogach File.Exists; File.Delete; Directory.Exists; Directory.Delete(nazwa, true); File.Move(nazwa, nowanazwa); Directory.CreateDirectory(nazwa);
Politechnika Łódzka. Instytut Systemów Inżynierii Elektrycznej. Laboratorium cyfrowej techniki pomiarowej. Ćwiczenie 4
Politechnika Łódzka Instytut Systemów Inżynierii Elektrycznej Laboratorium cyfrowej techniki pomiarowej Ćwiczenie 4 Zapis danych do pliku w programie LabVIEW 1. Zapis i odczyt sygnałów pomiarowych Do zapisu
Technologie informacyjne: Excel i Python
Wrocław, 25.05.2017 Technologie informacyjne: Excel i Python Wydział Matematyki Politechniki Wrocławskiej Andrzej Giniewicz Dzisiaj na zajęciach... Makra w pakiecie Excel, część 2: język Python. 1/30 Biblioteka
Zaawansowane aplikacje WWW - laboratorium
Zaawansowane aplikacje WWW - laboratorium Przetwarzanie XML (część 2) Celem ćwiczenia jest przygotowanie aplikacji, która umożliwi odczyt i przetwarzanie pliku z zawartością XML. Aplikacja, napisana w
Podstawy programowania w języku C++
Podstawy programowania w języku C++ Część jedenasta Przetwarzanie plików amorficznych Konwencja języka C Autor Roman Simiński Kontakt roman.siminski@us.edu.pl www.us.edu.pl/~siminski Niniejsze opracowanie
Programowanie obiektowe
Programowanie obiektowe Symulacje Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. VIII Jesień 2015 1 / 20 Czas Paradygmat obiektowy doskonale nadaje się do opisywania struktury
Część 4 życie programu
1. Struktura programu c++ Ogólna struktura programu w C++ składa się z kilku części: część 1 część 2 część 3 część 4 #include int main(int argc, char *argv[]) /* instrukcje funkcji main */ Część
Sphinx - system dokumentacji dla Pythona
Sphinx - system dokumentacji dla Pythona (1/24) Sphinx - system dokumentacji dla Pythona Michał Jaworski docstrings Sphinx - system dokumentacji dla Pythona (2/24) docstrings Sphinx - system dokumentacji
Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA
Python wprowadzenie Warszawa, 24 marca 2017 Python to język: nowoczesny łatwy w użyciu silny można pisać aplikacje Obiektowy klejący może być zintegrowany z innymi językami np. C, C++, Java działający
1. CZYM JEST SERIALIZACJA
SERIALIZACJA O CZYM POWIEMY? 1. Czym jest serializacja? 2. Jak przeprowadzić proces serializacji? 3. Jak przeprowadzić proces deserializacji? 4. Serializacja własnych klas. 5. Dobre praktyki. 6. SoapFormatter.
Wstęp do programowania
Wstęp do programowania Stosy, kolejki, drzewa Paweł Daniluk Wydział Fizyki Jesień 2013 P. Daniluk(Wydział Fizyki) WP w. VII Jesień 2013 1 / 25 Listy Lista jest uporządkowanym zbiorem elementów. W Pythonie
Lista, Stos, Kolejka, Tablica Asocjacyjna
Lista, Stos, Kolejka, Tablica Asocjacyjna Listy Lista zbiór elementów tego samego typu może dynamicznie zmieniać rozmiar, pozwala na dostęp do poszczególnych elementów Typowo dwie implementacje: tablicowa,
Programowanie obiektowe
Programowanie obiektowe Wyjątki, metody specjalne, generatory Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. VII Jesień 2015 1 / 23 Wyjątki It s easier to ask forgiveness than
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka
Wprowadzenie do programowania w języku Visual Basic. Podstawowe instrukcje języka 1. Kompilacja aplikacji konsolowych w środowisku programistycznym Microsoft Visual Basic. Odszukaj w menu startowym systemu
I - Microsoft Visual Studio C++
I - Microsoft Visual Studio C++ 1. Nowy projekt z Menu wybieramy File -> New -> Projekt -> Win32 Console Application w okienku Name: podajemy nazwę projektu w polu Location: wybieramy miejsce zapisu i
2. Klasy cz. 2 - Konstruktor kopiujący. Pola tworzone statycznie i dynamicznie - Funkcje zaprzyjaźnione - Składowe statyczne
Tematyka wykładów 1. Wprowadzenie. Klasy cz. 1 - Język C++. Programowanie obiektowe - Klasy i obiekty - Budowa i deklaracja klasy. Prawa dostępu - Pola i funkcje składowe - Konstruktor i destruktor - Tworzenie
Przegląd języka Python. Łukasz Anwajler
Przegląd języka Python Łukasz Anwajler lukasz.anwajler@pjwstk.edu.pl Nie wierzcie mi na słowo Zaraz zobaczymy: czym jest Python dlaczego warto go używać jakie ma zastosowania gdzie z niego korzystają jakzacząć
Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści
Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop. 2017 Spis treści Przedmowa 11 1. Jak w programie 21 Czym jest program? 21 Uruchamianie interpretera języka Python 22 Pierwszy
Programowanie strukturalne
Programowanie strukturalne wykład pliki tekstowe Agata Półrola Wydział Matematyki UŁ sem. letni 2011/2012 http://www.math.uni.lodz.pl/~polrola Pliki wewnętrzne i zewnętrzne Dotychczas przy pobieraniu danych
Programowanie obiektowe
Programowanie obiektowe Wykład 4 Marcin Młotkowski 15 marca 2018 Plan wykładu 1 2 3 Klasa podstawowa Własne kolekcje Obiekty i wartości Marcin Młotkowski Programowanie obiektowe 141 / 224 Z czego składa
Kurs języka Python. Wątki
Kurs języka Python Wątki Wątek Wątek (ang. thread) to jednostka wykonawcza w obrębie jednego procesu, będąca kolejnym ciągiem instrukcji wykonywanym w obrębie tych samych danych (w tej samej przestrzeni
4. Wyrzuć wyjątek jeśli zmienna ist nie istnieje bloki: try, catch i wyrzucanie wyjątku
Lista 7 Zad. 1 Pierwsza wersja programu 1. Przygotuj plik do w: plik tekstowy z pojedynczą liczbą. Umieść go w tym samym folderze, co projekt (*.cpp). 2. Nazwa pliku name nazwa zmiennej może być dowolna
Programowanie i projektowanie obiektowe
Programowanie i projektowanie obiektowe Metody i dziedziczenie Paweł Daniluk Wydział Fizyki Jesień 2015 P. Daniluk (Wydział Fizyki) PO w. V Jesień 2015 1 / 31 Metody Przypomnienie Obiekty odpowiadają za
Wykład 03 JavaScript. Michał Drabik
Wykład 03 JavaScript Michał Drabik Język programowania wykorzystywany na stronach internetowych głównie w celu umożliwienia interakcji z użytkownikiem. Kod JavaScript może być umieszczany w kodzie XHTML
Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk 2014. Studenckie Koªo Automatyków SKALP
Spotkania z Pythonem Cz ± 1 - podstawy - rozwi zania zada«michaª Alichniewicz Studenckie Koªo Automatyków SKALP Gda«sk 2014 Dzi kuj za uwag! Na licencji Creative Commons Attribution-NonCommercial-ShareAlike
Obsługa blędów i zewnętrznych plików
Obsługa blędów i zewnętrznych plików Rafał Zduńczyk Programowanie arkuszy kalkulacyjnych 2017 Wyłapanie błędu Sub error1() Dim x, y, z x = InputBox("x:") y = InputBox("y:") On Error GoTo handler1 On Error
Wykład VI. Programowanie. dr inż. Janusz Słupik. Gliwice, 2014. Wydział Matematyki Stosowanej Politechniki Śląskiej. c Copyright 2014 Janusz Słupik
Wykład VI Wydział Matematyki Stosowanej Politechniki Śląskiej Gliwice, 2014 c Copyright 2014 Janusz Słupik Operacje na plikach Operacje na plikach Aby móc korzystać z pliku należy go otworzyć w odpowiednim
Język C++ wykład VIII
Programowanie uzupełnienie notatek: dr Jerzy Białkowski 1 2 3 4 Obiektowość języka C++ ˆ Klasa (rozszerzenie struktury), obiekt instancją klasy, konstruktory i destruktory ˆ Enkapsulacja - kapsułkowanie,
Bezpieczne uruchamianie apletów wg
Bezpieczne uruchamianie apletów wg http://java.sun.com/docs/books/tutorial/security1.2/ Zabezpieczenia przed uruchamianiem apletów na pisanych przez nieznanych autorów 1) ograniczenie możliwości odczytywania,
Język JAVA podstawy. Wykład 6, część 2. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna
Język JAVA podstawy Wykład 6, część 2 Jacek Rumiński 1 Język JAVA podstawy Plan wykładu: 1. Wprowadzenie do operacji wejścia/wyjścia: strumienie 2. Podstawowe klasy strumieni i InputStream/OutputStream
Wstęp do ruby dla programistów javy
czyli dlaczego java ssie Akademickie Stowarzyszenie Informatyczne 26 lutego 2011 Podstawowe cechy Ruby vs Java Wieloparadygmatowy Imperatywny Typowanie Silne Dynamiczne Otwarte klasy Interpretowany Wszystko
rozdział 4: ZMIENNE I INSTRUKCJE
rozdział 4: ZMIENNE I INSTRUKCJE ostatnia modyfikacja: 04.12.18 definicja: zmienna to nazwany kontener służący do przechowywania danych na razie skupimy się na zmiennych przechowujących dane liczbowe i
Metody dostępu do danych
Metody dostępu do danych dr inż. Grzegorz Michalski Na podstawie materiałów dra inż. Juliusza Mikody Jak działa JDO Podstawowym zadaniem JDO jest umożliwienie aplikacjom Javy transparentnego umieszczenia