1 / 31

Programowanie w językach skryptowych

Programowanie w językach skryptowych. Wykład 1:. Wprowadzenie do język ów skryptowych. Opracował: Dr inż.. Marcin Janaszewski Katedra Informatyki Stosowanej Politechnika Łódzka. Typy języków skryptowych. Języki kontroli zadań i powłoki (ang. job control languages and shells)

macha
Download Presentation

Programowanie w językach skryptowych

An Image/Link below is provided (as is) to download presentation Download Policy: Content on the Website is provided to you AS IS for your information and personal use and may not be sold / licensed / shared on other websites without getting consent from its author. Content is provided to you AS IS for your information and personal use only. Download presentation by click this link. While downloading, if for some reason you are not able to download a presentation, the publisher may have deleted the file from their server. During download, if you can't get a presentation, the file might be deleted by the publisher.

E N D

Presentation Transcript


  1. Programowanie w językach skryptowych Wykład 1: Wprowadzenie do języków skryptowych Opracował: Dr inż.. Marcin Janaszewski Katedra Informatyki Stosowanej Politechnika Łódzka

  2. Typy języków skryptowych • Języki kontroli zadań i powłoki (ang. job control languages and shells) Najstarsze języki skryptowe: Unix shelll, MS-DOS COMMAND.COM • Języki specyficzne dla aplikacji Tworzone dla jednej aplikacji. Emacs Lisp, VisualBasic for application • Języki przetwarzania tekstu Narzędzia Unixa: AWK, sed, grep, pierwsze wersje Perl • Dynamiczne języki ogólnego przeznaczenia dynamiczne typy, zarządzanie pamięcią, używane do budowy dowolnych programów • Języki GUI Operują na graficznych elementach systemu operacyjnego, symulują działanie użytkownika.

  3. Język skryptowy Język skryptowy – język programowania • służący do kontrolowania danej aplikacji lub • służący do pisania kodu, który jest analizowany przez interpretator Skrypty – programy napisane w językach skryptowych, których kod źródłowy, lub kod pośredni są analizowane przez interpretator lub program główny i uruchamiane. Programy nieskryptowe są najpierw kompilowane to kodu maszynowego i później wykonywane niezależnie od innych aplikacji. Wczesne języki skryptowe były zwykle zwane językami plików wsadowych (ang. batch languages) tworzono w celu skrócenia tradycyjnego procesu edytowanie-kompilacja-linkowanie-wykonanie.

  4. Przykłady języków skryptowych Python; ASP;AutoIt; AviSynth; Awk; bash;Brain; C-Script; CobolScript; Dylan; E; Euphoria; Guile; Game Maker Language; ICI; JavaScript; JCL; Lua; MUMPS; ObjectRexx; Perl; PHP; Pike; Pliant; AngelCode; QuakeC; REBOL; Rexx; Ruby; Groovy; sh; Simkin; Tcl; UnrealScript; VBScript; Visual DialogScript; Miva.

  5. Czym jest Python Python to popularny (gdyż prosty, o dużych możliwościach, darmowy i powszechnie dostępny) język skryptowy, opracowany we wczesnych latach 90. przez Guido van Rossuma Język nie wymusza jednego stylu programowania, pozwalając na stosowanie różnych. W Pythonie możliwe jest programowanie obiektowe, programowanie strukturalne i programowanie funkcyjne. Typy sprawdzane są dynamicznie, a do zarządzania pamięcią stosuje się garbage collection. Zastosowanie Pythona NASA – aplikacje do zarządzania kontrolą startową wahadłowców. Projekt Nebula to rozproszone środowisko obliczeniowe przystosowane do wykonywania obliczeń w "chmurze" łączące wiele modułów i aplikacji Pythonowych.

  6. Darmowość i swobodny dostęp Powszechnie dostępny: www.python.org Oprogramowanie o otwartych źródłach Licencja Pythona zezwala na kopiowanie, modyfikację, rozszerzanie, rozpowszechnianie, wbudowywanie i odsprzedaż bez konieczności wnoszenia opłat lub podpisywania umów licencyjnych. Ograniczenia: Należy umieścić informacje o prawach autorskich.

  7. Pewność działania i dobre wspomaganie Powstał 20 lat temu stąd obecnie jest to dojrzały produkt, którego kod źródłowy był tworzony, modyfikowany, testowany i poprawiany przez wiele osób. Python jest rozpowszechniany wraz z kompletem dokumentacji, samouczek, opis języka oraz opis bibliotek

  8. Przenośność Python został napisany w ANSI C. Można go skompilować i uruchamiać na każdej popularnej współczesnej platformie systemowej. Rdzeń języka oraz biblioteki działają w ten sam sposób na wszystkich platformach, stąd programy można tworzyć w mieszanych środowiskach. Ograniczenia: niektóre rozszerzenia Pythona są zależne od systemu operacyjnego. Nie można zatem wywoływać modułu COM z Windows w systemie Linux.

  9. Zgodność z innymi językami Python pozwala się łatwo „sklejać” z istniejącymi bibliotekami napisanymi w C, C++, Fortran, Java lub Visual Basic (za pomocą pakietu COM) O integracji Pythona z C można przeczytać w podręcznikach „ Python/C API refence Manual” i „Extending and embeding the Python Interpreter” dołączonych do dystrybucji Pythona

  10. Przejrzystość kodu Kod Pythona można łato odczytać dzięki następującym cechom: • Struktura wierszowa wymuszająca jednolite stosowanie wcięć do wydzielania bloków kodu. Jest to cecha unikatowa wśród powszechnie stosowanych języków programowania • Składnia i semantyka ułatwiająca stosowanie go zarówno w prostych skryptach jak i w dużych programach • Elastyczne struktury danych i dynamiczne typy umożliwiające zaprogramowanie wielu czynności w kilku wierszach.

  11. Obiektowość • Klasy • Obiekty • Dziedziczenie • Przeciążanie • Wyjątki • Refleksja

  12. Gdzie działa Python YouTube - popularny serwis z klipami wideo jest w większości napisany w Pythonie. Twórcy serwisu podkreślali wydajność jaką oferuje Python, a także szybkie implementowanie nowych funkcjonalności poprzez czytelny kod, który łatwo rozszerzać i aktualizować. Google używa Pythona w wielu swoich aplikacjach i usługach takich jak Google App Engine, czy Google Wave. Zatrudnia nawet twórcę tego języka - Guido van Rossuma. Aplikacje napisane w Pythonie działają pod wieloma systemami takimi jak Windows, Linux/Unix, Mac OS X, OS/2, Amiga, czy smarphony Palma i Nokia. Dostępne są także implementacje Pythona w Javie (Jython) i .NET (IronPython) działające wszędzie tam, gdzie dostępne są te platformy.

  13. Typy projektów Tworzenie dynamicznych stron internetowych Frameworki Django, Pylons, serwer aplikacji Zope/Plone. Efektywne i szybkie tworzeniu nowoczesnych stron internetowych bogatych w funkcjonalności. Język ma wiele zalet w porównaniu do PHP Platforma Google App Engine dla rozproszonego hostingu aplikacji internetowych. Oparta została o Pythona i oferuje serwisom www taką samą skalowalność, jaką posiadają wszystkie aplikacje i usługi tej firmy. GAE jest darmowe. Usługi i serwisy społecznościowe to obecnie podstawa dla wielu serwisów www. Za pomocą Pythona można wykorzystać API/usługi serwisów takich jak Twitter, Blip.pl, Facebook, aplikacji Google (Maps, Docs i innych przez GData), czy Google Wave. Przykładowo biblioteka PyFacebook pozwala tworzyć aplikacje dla tego serwisu , a API Google Wave umożliwia tworzenie aplikacji dla tej platformy, czy integrowanie własnych stron i aplikacji z Wave

  14. Typy projektów Programowanie sieciowe - różne usługi, biblioteki, aplikacje, serwery i klienty wykorzystujące sieci. Moduły: socket, select, HTTPServer, SimpleHTTPRequestHandler Aplikacje desktopowe (MS Windows, OS X, Linux) można pisać w Pythonie za pomocą bibliotek takich jak PyQt4, PyGTK, wxPython, czy wbudowanej biblioteki tk. Za pomocą aplikacji py2exe można stworzyć gotowe aplikacje (exe) dla systemów MS Windows, a za pomocą py2app gotowe aplikacje dla OS X.

  15. Typy projektów Zastosowania naukowe, finansowe, przetwarzanie danych. Generowanie wykresów, zestawień, plików PDF, arkuszy Excela, czy ODT/ODS. Reportlab generuje pliki PDF i formatuje raporty Matplotlib - generowanie wykresów. Scipy oferuje implementacje różnych algorytmów do metod numerycznych. PIL – biblioteka przetwarzania i analizy obrazów xlwt i xlrt zapis i odczyt arkuszy Excela. Gry i aplikacje wykorzystujące 3D też można stworzyć z wykorzystaniem Pythona. Bazy danych możliwość zarządzania bazami danych różnych typów. Instalacje http://www.python.org/getit/ Python 2.7.1 i Python 3.2. Wersje 32 bitowe i 64 bitowe na Windows oraz na inne systemy: Linux, MacOS

  16. Dystrybucja Pythona • interpreter, • standardowe moduły, • pliki pomocnicze wymagane do uruchomienia programów. Python działa na większości systemów operacyjnych w tym: Windows, Linux, MacOS

  17. Dokumentacja Pythona Python Tutorial – wprowadzenie do programowania w Pythonie napisane przez Guido van Rossuma zawiera dużo przykładów. Python library Reference – opisuje standardową bibliotekę Pythona dołączoną do pakietu dystrybucyjnego, a także wbudowane typy danych, funkcje i metody. Python language Refence – zawiera dokładny opis składni i znaczenia elementów języka.

  18. Python 2 i Python 3 Python 3 = Python 3000 lub Py3K Wyrażenieprintzastąpiono przez funkcję print() Metodydict.keys(), dict.items() i dict.values() zwracają widoki zamiast list map() i filter() zwracają iteratory Użycie typów text i binarnego zamiast stringówunikodowych i 8-bitowych Niezgodność wielu przydatnych bibliotek

  19. Zmienne środowiskowe Pythona • PYTHONPATH - ma podobne zadanie jak PATH. Ta zmienna informuje interpreter Pythona o położeniu plików modułowych, które są importowane do programu. Zmienna PYTHONPATH powinna zawierać katalog z biblioteką źródłową Pythona oraz katalogi zawierające kody źródłowe programów użytkownika. Czasami wartość PYTHONPATH jest ustawiana wstępnie przez lnstalator Pythona • PYTHONSTARTUP - zawiera ścieżkę do pliku inicjującego, który zawiera kod źródłowy Pythona, który jest wykonywany podczas każdego uruchomienia interpretera (podobnie do uniksowego profile lub pliku .login). Plik, który w Uniksie często nazywa się .pythonrc.py, zwykle zawiera polecenia ładujące programy pomocnicze lub modyfikujące wartość PYTHONPATH • PYTHONCASEOK - zmienna stosowana w Windows wtedy, gdy Python w instrukcji importma wyszukiwać pierwszy moduł o nazwie pasującej niezależnie od wielkości liter. Aby ją uaktywnić, należy nadać jej dowolną wartość • PYTHOMHOHE - alternatywna ścieżka wyszukiwania modułów. Przeważnie są one umieszczane w katalogach PYTHONSTARTUPlub PYTHONPATH, co ułatwia przełączanie się między bibliotekami modułowymi

  20. Uruchamianie programów w trybie interakcyjnym Tryb interakcyjny – najłatwiejszy sposób uruchamiania programów w języku Phyton. • Uruchom interpreter w trybie interakcyjnym. • Po pojawieniu się znaku zachęty >>> wpisz instrukcję Pythona. • Naciśnij klawisz Enter. • Interpreter wyświetla wynik działania instrukcji, a następnie znak zachęty >>> . Interpreter wyświetli ponownie znak zachęty >>> także wtedy, gdy instrukcja nie zwróci żadnych wyników.

  21. Praca w trybie interakcyjnym Interpreter wyświetla znak zachęty dla instrukcji wielowierszowych (lub złożonych). Aby poinformować Pythona, że zakończono wpisywanie instrukcji, należy wstawić pusty wiersz

  22. Sygnalizacja błędów syntaktycznych i wyjątków w command line

  23. Przywoływanie ostatniego wyniku

  24. Uruchamianie programu jako skryptu Pliki z kodem źródłowym w języku Python mają rozszerzenie .py i są nazywane modułami Uruchamianie programu jako skryptu • Włącz tryb systemowego wiersza poleceń oraz upewnij się, czy katalog z Pythonem jest wpisany do ścieżki oraz czy skrypt znajduje się w bieżącym katalogu. • Wpisz polecenie python script. py i naciśnij klawisz Enter (script.py jest nazwą pliku zawierającego skrypt). W systemie Unix można przekształcić skrypt Pythona w wykonywalny program dodając początkowy wiersz ze znakami #! i nadając plikowi atrybuty wykonywalności. Początkowy wiersz ma następujące właściwości: • rozpoczyna się od znaków #!; • zawiera ścieżkę do interpretera języka Python; • jest umieszczony zawsze na początku pliku.

  25. Zastosowanie IDLE Zintegrowane środowisko programowania) jest aplikacją, która opakowuje interpreter Pythona w interfejs graficzny (GUI) i dołącza wiele funkcji do podstawowego interpretera wiersza poleceń. Charakteryzuje się ona obecnością menu, automatycznym dodawaniem wcięć, wskazówkami na temat składni, debuggerem oraz narzędziami do edycji plików. IDLE jest dostępna w wersjach przeznaczonych dla systemów Windows i Unix (dla systemu MacOS istnieje podobne narzędzie o nazwie Python IDE). Pełna dokumentacja IDLE jest dostępna pod adresem: www.python.org/idle/docZidle2.html Aplikacja IDLE jest dołączana do dystrybucji Pythona.

  26. Komentarze • Rozpoczynamy znakiem # • Komentarzem jest teks rozciągający się od # do końca wiersza • Komentarz może zajmować cały wiersz • Komentarz może być umieszczony na końcu wiersza • W komentarzach stosowane są wcięcia o tej samej głębokości co opisywany przez nie kod (nieobowiązkowe) • Python nie obsługuje wielowierszowych komentarzy. Każdy komentarz musi mieć własny znak #.

  27. Nadawanie nazw zmiennym • Nazwy nie maja ograniczenia długości • Nazwy rozpoczynają się od litery lub znaku podkreślenia, za którymi może występować dowolna liczba liter, cyfr lub podkreśleń. Przykłady: x, _render, The_Bronx. Nazwy niepoprawne: 100domow, %hash, nowa? • W nazwach wielkość liter jest istotna • Nazwy nie mogą być słowami kluczowymi Pythona Słowa kluczowe: and, assert, break, class, continue, def, del, elif, else, except, exec, finally, for, from, global, if, import, in, is, lambda, not, or, pass, print, raise, return, try, while. Wyświetlanie listy słów kluczowych Pythona: import keyword print keyword.kwlist

  28. Wskazówki dotyczące nadawania nazw Nazwy stosowane w Pythonie zwykle składają się z małych liter a poszczególne słowa tworzące nazwę są oddzielane znakami podkreślenia: liczba_cyfr Należy unikać rozpoczynania nazw zmiennych od znaku podkreślenia, gdyż w ten sposób często zmienne definiowane są przez system.

  29. Wyrażenie Jest dozwoloną kombinacją symboli (zmiennych, literałów, obiektów, funkcji, nawiasów, operatorów itd.), która zwraca obiekt po przetworzeniu w interpreterze Pythona. W wyrażeniu mogą być użyte funkcje i operatory wbudowane lub zdefiniowane samodzielnie przez użytkownika. Wyrażenia są klasyfikowane na podstawie typu zwracanego przez nie obiektu lub działania, które wykonują.

  30. Typy wyrażeń Arytmetyczne – daje w wyniku liczbę Atom – literał, identyfikator, wyświetlanie lub przekształcanie łańcucha: 3.14, x, [1, 2], ‘x’ Odwołanie do atrybutu – atrybut obiektu: obj.attr Logiczne – Działanie logiczne, które w wyniku daje prawdę lub fałsz: a and b, not x. Wywołanie – wywołuje funkcje lub metodę: len(x), a.append(a) Porównanie – Operacja porównania, która daje w wyniku 1 (prawdę) lub 0 (fałsz): a!=0, x<y<z, m is n, s not in t Wyświetlanie – Krotka, lista lub słownik: (1,2), (3,), [1,2], {„a”:1, „b”:2} Lambda – Forma lambda: lambda x: x*x Wycinanie – Zakres pozycji w sekwencji: x[2:4], x[-3:], x[:5] Subskrypcja – pozycja w sekwencji albo słownik: x[0], x[-1], dict[key] Przekształcenie łańcucha – łańcuchowa reprezentacja obiektu: str(x), repr(x), ‘x’

More Related