Wstęp do informatyki. Python 1



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

Python. Skąd taka nazwa? Kurs systemu UNIX 1

Podstawy programowania. Python wykład 6

Błyskawiczny kurs języka Python od podstaw do prostej strony opartej o microframework Flask.

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

Podstawy bioinformatyki 2017/18

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

Języki i metody programowania

Wstęp do programowania

Zaawansowany kurs języka Python

Wstęp do programowania

Kurs rozszerzony języka Python

Python jest interpreterem poleceń. Mamy dwie możliwości wydawania owych poleceń:

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

Wstęp do Pythona. Janusz Szwabiński. Python w obliczeniach numerycznych (C) 2005 Janusz Szwabiński p.1/36

Podstawy programowania w Pythonie

Python. Wprowadzenie. Jolanta Bachan

Podstawy bioinformatyki 2017/18

Podstawy programowania w Pythonie

Wstęp do programowania

Podstawy programowania: Python. Wprowadzenie. Jolanta Bachan

Wstęp do Informatyki i Programowania (kierunek matematyka stosowana)

Programowanie robota mobilnego E-puck w języku Python

Wprowadzenie do języka Java

Język programowania Python

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

Python wprowadzenie. Warszawa, 24 marca PROGRAMOWANIE I SZKOLENIA

Podstawy programowania w Pythonie

Język Python (2) Język Python (2) 1/36

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

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

Typy danych, cd. Łańcuchy znaków

Programista samouk : profesjonalny przewodnik do samodzielnej nauki kodowania / Cory Althoff. Gliwice, copyright Spis treści

Python! Lekcja 1 podstawy języka, typy danych

JĘZYK PYTHON - NARZĘDZIE DLA KAŻDEGO NAUKOWCA. Marcin Lewandowski [ mlew@ippt.gov.pl ]

Technologie Informacyjne Mechatronika 2012/2013 Błędy obliczeń. Python.

Programowanie w języku Python. Grażyna Koba

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

Wstęp do programowania

Programowanie obiektowe

Plan. krótkie opisy modułów. 1 Uwagi na temat wydajności CPython a. 2 Podstawowe techniki poprawiające wydajność obliczeniową

Map Reduce Wprowadzenie do Apache Hadoop

Komunikacja Człowiek-Komputer

Środowisko programisty

Myśl w języku Python! : nauka programowania / Allen B. Downey. Gliwice, cop Spis treści

Kurs rozszerzony języka Python

Jak napisać program obliczający pola powierzchni różnych figur płaskich?

Podstawy bioinformatyki 2017/18

Język Python: operacje i obliczenia na danych typów prostych. Wyprowadzanie wyników.

Pracownia Informatyczna I ORGANIZACJA ZAJĘĆ, ZASADY ZALICZENIA

Programowanie I. O czym będziemy mówili. Plan wykładu nieco dokładniej. Plan wykładu z lotu ptaka. Podstawy programowania w językach. Uwaga!

Podstawy Programowania ELEMENTY PROGRAMU i TYPY DANYCH

PROGRAMOWANIE W JĘZYKU PYTHON

Programowanie obiektowe

Podstawy i języki programowania

Podstawy informatyki

Redis, skrypty w języku Lua

Java - wprowadzenie. Programowanie Obiektowe Mateusz Cicheński

BASH - LINIA POLECEŃ. Bioinformatyka 2018/2019

PRACOWNIA INFORMATYCZNA BASH - PODSTAWOWE INFORMACJE

Schemat konstrukcja pliku Makefile

Pisząc okienkowy program w Matlabie wykorzystujemy gotowe obiekty graficzne, lub możemy tworzyć własne obiekty dziedzicząc już zdefiniowane.

Wstęp do programowania

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

Python wstęp. Michał Bereta

Ciągi liczbowe. Zbigniew Koza. Wydział Fizyki i Astronomii

ZAJĘCIA NR 1. Zawartość

Rok akademicki: 2012/2013 Kod: JFM s Punkty ECTS: 3. Poziom studiów: Studia I stopnia Forma i tryb studiów: Stacjonarne

Wykresy i interfejsy użytkownika

Programowanie w Javie cz. 1 Wstęp. Łódź, 24 luty 2014 r.

1 Podstawy c++ w pigułce.

Podstawy programowania w Pythonie

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

BIBLIOTEKA NUMPY, CZĘŚĆ 1

Programowanie obiektowe

Algorytmy i struktury danych

Wstęp do programowania

Listy, krotki, słowniki, funkcje

PRACOWNIA INFORMATYCZNA CHARAKTERYSTYKA PRZEDMIOTU BASH - PODSTAWOWE INFORMACJE

Programowanie I C / C++ laboratorium 01 Organizacja zajęć

KARTA PRZEDMIOTU. Programowanie wieloplatformowe, D1_1

Wprowadzenie do języka Python

Krótka Historia. Co to jest NetBeans? Historia. NetBeans Platform NetBeans IDE NetBeans Mobility Pack Zintegrowane moduły. Paczki do NetBeans.

SZYBKO ZROZUMIEĆ VISUAL BASIC 2012 Artur Niewiarowski -

Podstawy i języki programowania

kodowanienaekranie.pl

Wprowadzenie do Scilab: podstawy języka Scilab

Być może jesteś doświadczonym programistą, biegle programujesz w Javie,

Kurs rozszerzony języka Python

Ćwiczenie 3. Python 3: Python 3: Funkcje, moduły i operacje na plikach

Przegląd języka Python. Łukasz Anwajler

Język programowania Scala / Grzegorz Balcerek. Wyd. 2. Poznań, cop Spis treści

Kurs MATURA Z INFORMATYKI

Podstawy bioinformatyki 2017/18

Wybrane działy Informatyki Stosowanej

Programista do działu testów PDT/1401/T/TBG

KARTA KURSU. Języki skryptowe

Rok akademicki: 2016/2017 Kod: JFT s Punkty ECTS: 5. Poziom studiów: Studia I stopnia Forma i tryb studiów: -

Transkrypt:

Wstęp do informatyki Python 1

Python - wprowadzenie Wysokopoziomowy język programowania obiektowego stworzony na początku lat dziewięćdziesiątych XXw. Cechy Pythona: - wszechstronne zastosowania (GUI, system, internet, database, gaming, etc.) - bogate biblioteki - łatwy do nauczenia - przenaszalny - darmowy Zagadka: skąd nazwa? www.python.org

Python - wprowadzenie Programy w pythonie można uruchamiać w interaktywnym shellu wydając polecenia podobnie jak w bashu lub jako aplikacje po uprzednim skompilowaniu do tzw. bytecodu (podobnie jak w Java). Czyli python jest interpreterem. Oznacza to również, że wadą pythona jest jego szybkość. Analogiczne programy napisane w C lub C++ będą zwykle działały szybciej.

Python - własności Python bardziej technicznie: - dynamiczne typowanie nie ma deklarowania zmiennych ani typów - automatyczne zarządzanie pamięcią - wsparcie do zarządzania dużymi programami (moduły, klasy) - wbudowane typy danych i narzędzia: listy, słowniki, napisy wraz z operacjami - można łączyć z programami napisanymi w innych językach

Python - własności Literatura: [1] www.python.org - zalecana [2] O'Reilly Mark Lutz Learning Python [3] Dive into python Niektóre z przykładów są podobne do przykładów z [2]. Jest polskie tłumaczenie [2].

Tryb interaktywny > python Python 2.5.2 (r252:60911, Jul 31 2008) [GCC 4.2.3 (Ubuntu 4.2.3-2ubuntu7)] on linux2 Type "help", "copyright", "credits" or "license" for more information. >>> print Hello world Hello world Zalecam wypróbowanie ipython (an enhanced Interactive Python).

Tryb interaktywny >>> print 2**10 1024 >>> print 2**1000 199506311688075838488374216268358508382349683188619245485200894985294388302219466319199616840361945978993311294232091242715564913494 137811175937859320963239578557300467937945267652465512660598955205500869181933115425086084606181046855090748660896248880904898948380 092539416332578506215683094739025569123880652250966438744410467598716269854532228685381616943157756296407628368807607322285350916414 761839563814589694638994108409605362678210646214273333940365255656495306031426802349694003359343166514592977732796657756061725820314 079941981796073782456837622800373028854872519008344645814546505579296014148339216157345881392570953797691192778008269577356744441230 620187578363255027283237892707103738028663930314281332414016241956716905740614196543423246388012488561473052074319922596117962501309 928602417083408076059323201612684922884962558413128440615367389514871142563151110897455142033138202029316409575964647560104058458415 660720449628670165150619206310041864222759086709005746064178569519114560550682512504060075198422618980592371180544447880729063952425 483392219827074044731623767608466130337787060398034131971334936546227005631699374555082417809728109832913144035718775247685098572769 379264332215993998768866608083688378380276432827751722736575727447841122943897338108616074232532919748131201976041782819656974758981 645312584341359598627841301281854062834766490886905210475808826158239619857701224070443305830758690393196046034049731565832086721059 133009037528234155397453943977152574552905102123109473216107534748257407752739863482984983407569379556466386218745694992790165721037 013644331358172143117913982229838458473344402709641828510050729277483645505786345011008529878123894739286995408343461588070439591189 858151457791771436196987281314594837832020814749821718580113890712282509058268174362205774759214176537156877256149045829049924610286 300815355833081301019876758562343435389554091756234008448875261626435686488335194637203772932400944562469232543504006780272738377553 764067268986362410374914109667185570507590981002467898801782719259533812824219540283027594084489550146766683896979968862416363133763 939033734558014076367418777110553842257394991101864682196965816514851304942223699477147630691554682176828762003627772577237813653316 111968112807926694818872012986436607685516398605346022978715575179473852463694469230878942659482170080511203223654962881690357391213 683383935917564187338505109702716139154395909915981546544173363116569360311222499379699992267817323580231118626445752991357581750081 998392362846152498810889602322443621737716180863570154684840586223297928538756234865564405369626220189635710288123615675125433383032 700290976686505685571575055167275188991941297113376901499161813151715440077286505731895574509203301853048471138183154073240533190384 620840364217637039115506397890007428536721962809034779745333204683687958685802379522186291200807428195513179481576244482985184615097 04888027274721574688131594750409732115080498190455803416826949787141316063210686391511681774304792596709376

Tryb interaktywny W trybie interaktywnym nie trzeba używać print: >>> 2**10 1024 >>> mojazmienna=13 >>> mojazmienna 13

Tryb interaktywny Napisy: >>> napis='do' >>> napis 'do' >>> napis='wstęp ' + napis + ' informatyki' >>> napis 'Wstęp do informatyki' >>> print napis Wstęp do informatyki

Programy Analogicznie do bash możemy zapisać program w pliku i uruchamiać: > python mojprogram.py Możemy stosować skrypty z prawami wykonania (x). Wtedy należy zadbać o pierwszą linię pliku: > cat mojprogram2.py #!/usr/bin/python print 'A ku ku!' >./mojprogram2.py A ku ku!

Liczby Typy liczbowe: - całowite (integers) - zmiennoprzecinkowe (floating-point numbers) - nieskończonej precyzji (long-integers) - liczby zespolone (z.real, z.imag)

Liczby Tryb user-friendly w print >>> print 2**100 1267650600228229401496703205376 Ale: >>> 2*100 1267650600228229401496703205376L używa pełnej notacji naukowej (scienfitic notation). Sprawdzić np.: 2.5*3.5

Liczby Operacje arytmetyczne: a+b a-b a*b a/b a%b abs(x) int(x) long(x) float(x) complex(re,im) a**b pow(a,b)

Liczby Moduł math & random: >>> print pi NameError:... >>> import math # importujemy moduł >>> print math.pi 3.14159... >>> import random >>> random.random() 0.141591231412312 >>> random.choice([1,2,3]) # lista! 2

Napisy >>> S='Kota' >>> S 'Kota' >>> len(s) 4 >>> S[0] 'K' >>> S[-1] # ostatni == len(s)-1 'a' >>> S[-2] # przedostatni == len(s)-2 't' Co będzie z S[4]?

Napisy >>> S='Kota' >>> S[1:3] # od indeksu do indeksu przedostatniego 'ot' >>> S[1:-1] # można używać ujemnych adresów???

Napisy >>> S='Kota' Gdy nie lewej liczby domyślnie to 0, gdy prawej to len(s). >>> S[1:] 'ota' >>> S[:1] 'K' >>> S[:-1] 'Kot' >>> S[:]???

Napisy >>> S='słoma' >>> S * 4 'słomasłomasłomasłoma' >>> S + 'masło' 'słomamasło'

Napisy Uwaga: napisy w pythonie są niezmienne (immutable), tzn. nie można zmienić napisu. >>> S='mata' >>> S[0]='t'...error... Ale można utworzyć nowy obiekt z wykorzystaniem starego. >>> S='t' + S[1:] >>> S tata Uwaga: każdy obiekt w pythonie jest albo immutable albo mutable (zmienny). Np.: liczby, napisy oraz krotki (tuples) są immutable, a listy i słowniki nie. Te typy poznamy niebawem.

Napisy >>> S='słoma' >>> S.find('ło') 1 >>> S.replace('oma','abo') 'słabo' >>> S='A=krowa:D=21:P=0.4' >>> S.split(':') ['A=krowa','D=21','P=0.4'] # to jest lista O listach [...] niebawem...

Napisy Inne użyteczne operacje na napisach: upper, isalpha, rstrip, itp. Jak dostać pomoc? >>> S='słoma' >>> dir(s) [' add ',... ' setattr ', ' str ', 'capitalize', 'center', 'count', 'decode', 'encode', 'endswith', 'expandtabs', 'find', 'index', 'isalnum', 'isalpha', 'isdigit', 'islower', 'isspace', 'istitle', 'isupper', 'join', 'ljust', 'lower', 'lstrip', 'partition', 'replace', 'rfind', 'rindex', 'rjust', 'rpartition', 'rsplit', 'rstrip', 'split', 'splitlines', 'startswith', 'strip', 'swapcase', 'title', 'translate', 'upper', 'zfill'] >>> help(s.index)...a tu pomoc rychło się ukaże...

Listy Standardowa struktura danych lista. Elementy mogą być różnych typów. Lista jest mutable. >>> lista=[ 1.3, 'Drugi', 100 ] >>> len(lista) 3 >>> lista[0] 1.3 >>> lista[1:] ['Drugi',100] >>> lista+lista [ 1.3, 'Drugi', 100, 1.3, 'Drugi', 100 ]