Podstawy programowania w Pythonie

Podobne dokumenty
Język programowania zbiór reguł określających, które ciągi symboli tworzą program komputerowy oraz jakie obliczenia opisuje ten program.

Języki i metody programowania

Podstawy programowania w Pythonie

Podstawy programowania w Pythonie

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

Algorytmy i struktury danych

Podstawy programowania skrót z wykładów:

Naukę zaczynamy od poznania interpretera. Interpreter uruchamiamy z konsoli poleceniem

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Wydział Zarządzania AGH. Katedra Informatyki Stosowanej. Podstawy VBA cz. 1. Programowanie komputerowe

Przegląd języka Python. Łukasz Anwajler

Podstawy programowania w Pythonie

PROGRAMOWANIE W PYTHONIE OD PIERWSZYCH KROKÓW

Podstawy programowania w Pythonie

Wykresy i interfejsy użytkownika

METODY I JĘZYKI PROGRAMOWANIA PROGRAMOWANIE STRUKTURALNE. Wykład 02

Wstęp do Informatyki

Python wstęp do programowania dla użytkowników WCSS

Wstęp do programowania

Laboratorium Wstawianie skryptu na stroną: 2. Komentarze: 3. Deklaracja zmiennych

Programowanie obiektowe

Algorytmy i struktury danych

Język ludzki kod maszynowy

Wstęp do programowania

Podstawy JavaScript ćwiczenia

Programowanie w języku Python. Grażyna Koba

Modelowanie rynków finansowych z wykorzystaniem pakietu R

Python wstęp. Michał Bereta

Cw.12 JAVAScript w dokumentach HTML

ZMIENNE. Podstawy PHP

4. Funkcje. Przykłady

Instytut Mechaniki i Inżynierii Obliczeniowej Wydział Mechaniczny Technologiczny Politechnika Śląska

Python. Wprowadzenie. Jolanta Bachan

Warsztaty dla nauczycieli

Rys.2.1. Trzy warstwy stanowiące podstawę popularnego podejścia w zakresie budowy stron internetowych [2]

Podstawy programowania w Pythonie

Nazwa implementacji: Nauka języka Python pętla for. Autor: Piotr Fiorek

Programowanie robota mobilnego E-puck w języku Python

Programowanie obiektowe

Podstawy programowania w Pythonie

Nazwa implementacji: Nauka języka Python wyrażenia warunkowe. Autor: Piotr Fiorek. Opis implementacji: Poznanie wyrażeń warunkowych if elif - else.

1 Podstawy c++ w pigułce.

Język skryptowy: Laboratorium 1. Wprowadzenie do języka Python

JAVAScript w dokumentach HTML (1) JavaScript jest to interpretowany, zorientowany obiektowo, skryptowy język programowania.

Kurs rozszerzony języka Python

Lab 10. Funkcje w argumentach funkcji metoda Newtona. Synonimy nazw typów danych. Struktury. Tablice struktur.

Język Python. Język Python 1/35

Zapisywanie algorytmów w języku programowania

Programowanie Strukturalne i Obiektowe Słownik podstawowych pojęć 1 z 5 Opracował Jan T. Biernat

Zmienne, stałe i operatory

Podstawy Programowania C++

rozdział 4: ZMIENNE I INSTRUKCJE

PROGRAMOWANIE W JĘZYKU PYTHON

Liczby losowe i pętla while w języku Python

Język JAVA podstawy. Wykład 3, część 3. Jacek Rumiński. Politechnika Gdańska, Inżynieria Biomedyczna

Zaawansowany kurs języka Python

Wstęp do programowania

Programowanie strukturalne. Opis ogólny programu w Turbo Pascalu

Elżbieta Kula - wprowadzenie do Turbo Pascala i algorytmiki

Programowanie w C++ Wykład 2. Katarzyna Grzelak. 4 marca K.Grzelak (Wykład 1) Programowanie w C++ 1 / 44

Podstawy. Jan Koprowski Politechnika Gdańska, FTiMS Informatyka Stosowana

Podstawy Programowania

Funkcje i instrukcje języka JavaScript

System operacyjny Linux

Skrypty powłoki Skrypty Najcz ciej u ywane polecenia w skryptach:

Warunki logiczne instrukcja if

Wstęp do informatyki. stęp do informatyki Polecenia (cz.2)

Wątki i komunikacja między nimi w języku Python

1 Podstawy c++ w pigułce.

JAVAScript w dokumentach HTML (1)

Zapis algorytmów: schematy blokowe i pseudokod 1

Bazy Danych i Usługi Sieciowe

Informatyka I. Typy danych. Operacje arytmetyczne. Konwersje typów. Zmienne. Wczytywanie danych z klawiatury. dr hab. inż. Andrzej Czerepicki

Elementy języka C. ACprogramislikeafastdanceonanewlywaxeddancefloorbypeople carrying razors.

Wstęp do programowania

Pracownia Komputerowa wykład III

Kurs rozszerzony języka Python

Informatyka I. Klasy i obiekty. Podstawy programowania obiektowego. dr inż. Andrzej Czerepicki. Politechnika Warszawska Wydział Transportu 2018

ECDL Podstawy programowania Sylabus - wersja 1.0

do MATLABa programowanie WYKŁAD Piotr Ciskowski

Bloki anonimowe w PL/SQL

Podstawy i języki programowania

METODY KOMPUTEROWE W OBLICZENIACH INŻYNIERSKICH

Informatyka 1. Plan dzisiejszych zajęć. zajęcia nr 1. Elektrotechnika, semestr II rok akademicki 2008/2009

Języki i metody programowania

Python dla początkujących. Małgorzata Niewiem AGH, GGiOŚ, Katedra Geoinformatyki i Informatyki Stosowanej SATIM Satelitarny Monitoring

1 Wprowadzenie do algorytmiki

Opis: Instrukcja warunkowa Składnia: IF [NOT] warunek [AND [NOT] warunek] [OR [NOT] warunek].

Podstawy Pythona. Krzysztof Gdawiec. Instytut Informatyki Uniwersytet Śląski

PROGRAMOWANIE W PYTHONIE ALGORYTMY TABLICOWE A LISTY

Środowisko programisty

Programowanie w języku C++ Grażyna Koba

Podstawy Programowania Podstawowa składnia języka C++

Dzi kuj za uwag! Spotkania z Pythonem. Cz ± 1 - podstawy - rozwi zania zada« Michaª Alichniewicz. Gda«sk Studenckie Koªo Automatyków SKALP

Informatyka- wykład. Podstawy programowania w Pythonie. dr Marcin Ziółkowski

Wprowadzenie. Organizacja pracy i środowisko programistyczne. Mirosław Ochodek

Podstawy programowania w języku C

Środowisko programisty

Transkrypt:

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 w Pythonie 10.10.2012 1 / 21

Podstawy Pythona Zen Pythona Aby zapoznać się z Zen Pythona wystarczy zaimportować moduł this: >>> import this The Zen of Python Beautiful is better than ugly.... Tłumaczenie na język polski pochodzi ze strony http://wiki.sheep.art.pl/zenofpython Omówienie poszczególnych stwierdzeń można znaleźć na stronie http://lukasz.langa.pl/1/zen-pythona-i-ja/ dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 2 / 21

Podstawy Pythona Zen Pythona tłumaczenie Piękne jest lepsze niż brzydkie. Wyrażone wprost jest lepsze niż domniemane. Proste jest lepsze niż złożone. Złożone jest lepsze niż skomplikowane. Płaskie jest lepsze niż wielopoziomowe. Rzadkie jest lepsze niż gęste. Czytelność się liczy. Sytuacje wyjatkowe nie sa na tyle wyjatkowe, aby łamać reguły. Choć praktyczność przeważa nad konsekwencja. Błędy zawsze powinny być sygnalizowane. Chyba że zostana celowo ukryte. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 3 / 21

Podstawy Pythona Zen Pythona tłumaczenie W razie niejasności powstrzymaj pokusę zgadywania. Powinien być jeden i najlepiej tylko jeden oczywisty sposób na zrobienie danej rzeczy. Choć ten sposób może nie być oczywisty jeśli nie jest się Holendrem. Teraz jest lepsze niż nigdy. Chociaż nigdy jest często lepsze niż natychmiast. Jeśli rozwiazanie jest trudno wyjaśnić, to jest ono złym pomysłem. Jeśli rozwiazanie jest łatwo wyjaśnić, to może ono być dobrym pomysłem. Przestrzenie nazw to jeden z niesamowicie genialnych pomysłów miejmy ich więcej! dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 4 / 21

Obiekty, wartości i typy Obiekty sa w Pythonie abstrakcja danych. Każda dana jest reprezentowana przez obiekt lub przez relację pomiędzy obiektami. Zgodnie z modelem komputera z programem w pamięci von Neumanna kod również reprezentowany jest przez obiekty. Każdy obiekt ma tożsamość, typ i wartość. Od chwili utworzenia obiektu jego tożsamość nigdy się nie zmienia. O tożsamości obiektu można myśleć jak o adresie obiektu w pamięci. Do porównania tożsamości dwóch obiektów służy operator is. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 5 / 21

Obiekty, wartości i typy Wbudowana funkcja id zwraca wartość całkowita, reprezentujac a tożsamość obiektu. W standardowej implementacji funkcja ta zwraca adres obiektu, przekształcony do postaci liczbowej. Typ określa zbiór atrybutów i operacji, które można wykonać na obiekcie oraz definiuje zbiór dopuszczalnych wartości obiektu. Typ obiektu, podobnie jak jego tożsamość, również nie może ulec zmianie. Typ obiektu (który również jest obiektem) można pobrać za pomoca wbudowanej funkcji type. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 6 / 21

Zmienne Zmienna w Pythonie jest nazwa, która jest odniesieniem do obiektu. Aby utworzyć zmienna oraz nadać jej wartość należy użyć instrukcji przypisania: zmienna = wyrażenie Powyższa instukcja przypisuje do zmiennej zmienna odniesienie do obiektu utworzonego w wyniku obliczenia wartości wyrażenia wyrażenie. Przypisanie do zmiennej nie jest wypisywane przez interpreter. Wartość może być przypisana jednocześnie wielu zmiennym, np. a = b = c = 0 Możliwe sa też jednoczesne przypisania: a, b, c = 1, 2, 3 dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 7 / 21

Przykłady >>> a = 3 >>> b = 3 >>> id(a) >>> id(b) >>> a is b True >>> a = 3.0 >>> b = 3.0 >>> id(a) >>> id(b) >>> a is b False dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 8 / 21

Zmienne W trybie interaktywnym, ostatnio wydrukowane wyrażenie przypisywane jest do zmiennej _. Oznacza to, że jeśli używa się Pythona jako biurkowego kalkulatora, łatwym staje się kontynuowanie obliczeń, jak w poniższym przykładzie: >>> 53.4 * 3.56 11.747999999999999 >>> round(_, 2) 11.75 Zmienna _ powinna być traktowana przez użytkownika jak zmienna tylko do odczytu. Przypisanie do zmiennej _ jakiejkolwiek wartości stworzy lokalna zmienna z ta sama nazwa przykrywajac a wbudowana zmienna _ o tych magicznych właściwościach. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 9 / 21

Słowa kluczowe Nazwy zmiennych, funkcji i klas sa identyfikatorami. Identyfikator to dowolny ciag składajacy się z liter, cyfr oraz znaków podkreślenia zaczynajacy się od litery lub znaku podkreślenia. Spośród wszystkich możliwych nazw zmiennych 33 sa zarezerwowane. Sa to słowa kluczowe języka Python. False class finally is return None continue for lambda try True def from nonlocal while and del global not with as elif if or yield assert else import pass break except in raise dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 10 / 21

Wprowadzanie napisów >>> imie = input("podaj swoje imię: ") >>> print("cześć", imie) Wprowadzanie liczb całkowitych >>> rok_ur = int(input("podaj rok urodzenia: ")) >>> print("urodziłeś się w roku", rok_ur) Wprowadzanie liczb zmiennoprzecinkowych >>> waga = float(input("podaj swoją wagę: ")) >>> print("ważysz", waga, "kg") dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 11 / 21

Skrypty w języku Python Przez skrypt Pythona rozumiemy plik tekstowy zawierajacy program zapisany w języku Python. Zwyczajowo skrypty Pythona zapisuje się w plikach z rozszerzeniem.py, np. hello.py. Przykład (Przykładowy skrypt) #!/usr/bin/env python3 print("witajcie studenci!") print("ąćęłńóśźż") print("ąćęłńóśźż") dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 12 / 21

Skrypty w języku Python Aby wykonać skrypt hello.py wydajemy w konsoli polecenie [student@laboratorium ]$ python3 hello.py Możemy też uruchomić skrypt hello.py wydajac w konsoli polecenie [student@laboratorium ]$./hello.py o ile w pierwszej linii pliku hello.py znajduje się odwołanie do interpretera: #!/usr/bin/env python3 a ponadto plik hello.py ma ustawiony atrybut wykonywalności. Python 3 akceptuje w skryptach znaki pochodzace z zestawu znaków Unikodu w systemie UTF-8. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 13 / 21

Prosta postać instrukcji iteracyjnej for (dla) Instrukcja iteracyjna for jest używana do iterowania po elementach sekwencji lub innego obiektu iterowalnego. Prosta postać instrukcji iteracyjnej for jest następujaca: for zmienna in wyrażenie: blokinstrukcji blokinstrukcji to ciag instrukcji, które umieszczone sa w kolejnych liniach, przy czym każda linia jest wcięta w stosunku do linii zaczynajacej się od for o tę sama liczbę spacji. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 14 / 21

Semantyka instrukcji iteracyjnej for Wyrażenie wyrażenie jest wartościowane raz, a jego wynikiem powinna być sekwencja. Dla każdego elementu tej sekwencji (w kolejności rosnacych indeksów) wykonywany jest podany ciag instrukcji, przy czym najpierw element ten jest przypisywany do zmiennej zmienna. Po wyczerpaniu elementów sekwencji (być może od razu, jeśli sekwencja ta jest pusta) wykonywanie instrukcji for kończy się. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 15 / 21

Schemat blokowy instrukcji iteracyjnej for Czy istnieją False elementy sekwencji, które nie zostały przetworzone? True zmienna = następny element blokinstrukcji dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 16 / 21

Zakresy Funkcja wbudowana range jest uniwersalna funkcja tworzac a skończony ciag arytmetyczny. Funkcję tę można wywoływać z jednym, dwoma lub trzema argumentami: range(stop) start = 0, krok = 1 range(start, stop) krok = 1 range(start, stop, krok) W przypadku gdy krok > 0, elementy zakresu r określone sa wzorem r[j] = start + krok * j, gdzie j >= 0 oraz r[j] < stop. W przypadku gdy krok < 0, elementy zakresu r określone sa wzorem r[j] = start + krok * j, gdzie j >= 0 oraz r[j] > stop. dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 17 / 21

Przykłady >>> list(range(10)) [0, 1, 2, 3, 4, 5, 6, 7, 8, 9] >>> list(range(1, 11)) [1, 2, 3, 4, 5, 6, 7, 8, 9, 10] >>> list(range(0, 30, 5)) [0, 5, 10, 15, 20, 25] >>> list(range(0, 10, 3)) [0, 3, 6, 9] >>> list(range(0, -10, -1)) [0, -1, -2, -3, -4, -5, -6, -7, -8, -9] >>> list(range(0)) [] >>> list(range(1, 0)) [] dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 18 / 21

Przykład (Program z użyciem instrukcji iteracyjnej for) #!/usr/bin/env python3 n = int(input("podaj liczbę naturalną: ")) s = 0 for j in range(1, n + 1): s = s + j print("suma liczb od 1 do", n, "wynosi", s) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 19 / 21

Przykład (Program z użyciem instrukcji iteracyjnej for) """Oblicza sumę liczb naturalnych od 1 do n""" #!/usr/bin/env python3 n = int(input("podaj liczbę naturalną: ")) s = 0 for j in range(1, n + 1): s = s + j print("suma liczb od 1 do", n, "wynosi", s) dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 20 / 21

Przykład (Program z użyciem instrukcji iteracyjnej for) """Oblicza sumę liczb naturalnych od 1 do n""" #!/usr/bin/env python3 def main(): n = int(input("podaj liczbę naturalną: ")) s = 0 for j in range(1, n + 1): s = s + j print("suma liczb od 1 do", n, "wynosi", s) main() dr Andrzej Zbrzezny (IMI AJD) Podstawy programowania w Pythonie 10.10.2012 21 / 21