• Nie Znaleziono Wyników

Instalacja i edytorCzym jest PythonDlaczego używamy Python? WcięciaTypy danychDeklaracje i dynamiczne typowanieKomentarzeOperatoryNazewnictwoOperacje na łańcuchachPrint Podstawy

N/A
N/A
Protected

Academic year: 2021

Share "Instalacja i edytorCzym jest PythonDlaczego używamy Python? WcięciaTypy danychDeklaracje i dynamiczne typowanieKomentarzeOperatoryNazewnictwoOperacje na łańcuchachPrint Podstawy"

Copied!
23
0
0

Pełen tekst

(1)

Podstawy

Instalacja i edytor Czym jest Python Dlaczego używamy Python?

Wcięcia Typy danych Deklaracje i dynamiczne typowanie Komentarze Operatory Nazewnictwo Operacje na łańcuchach Print

(2)

WYKŁAD 1 INSTALACJA

http://www.python.org/download pypi.python.org/pypi

http://vpython.org/index.html https://www.djangoproject.com http://effbot.org

Dokumentacje:

http://docs.python.org/library http://django.pl

http://pl.python.org

http://www.python.rk.edu.pl

(3)

Dlaczego wersja 2.7

Stabilne wersje (w chwili obecnej) PYTHONA 2.7.2 i 3.2.2 Biblioteki - pypi.python.org/pypi/

Django 1.3.1 Python 2.5-2.7

Matplotlib 1.1.0 Python 2.5-2.7 wersje 32 i 64 bitowe Numpy 1.6.1 Python 2.5-2.7 3.1-3.2

PIL 1.1.7 Python 2.3-2.7

(http://effbot.org/downloads/#Imaging) VPython Python 2.6, 2.7, 3.1

Plone 4.x Python 2.6 i Zope 2.12.x PyQT4 Python 2.5,2.6,2.7,3.1,3.2

(4)

Klasyfikacja języków

Imperatywne (Python, Java, C++)

Deklaratywne (Prolog, Haskell)

Obiektowe (Java, C++, Python)

Strukturalne

Funkcyjne (Haskell ,F)

Wysokiego poziomu (Java, C++, Python)

Niskiego poziomu (assembler, C (?))

język programowania Java C++

język znaczników LATEX HTML

język skryptowy Python Perl

(5)

Historia PYTHONa

Pythona stworzył latach 90. Guido van Rossum

G. V. Rossum - „Benevolent Dictator for Life”

(BDFL).

Do wersji 2.0 Python był opracowywany w BeOpen potem PythonLabs przeniósł się do Digital Creations.

Własność intelektualna począwszy od Pythona 2.1

(wraz z wersjami alpha i beta), jest własnością

Python Software Foundation (PSF), niedochodowej

organizacji wzorowanej na Apache Software

Foundation

(6)

Czym jest Python?

Interpretowalnym językiem skryptowym o ogromnej liczbie różnorodnych bibliotek.

Użyteczny do tworzenia frameworków

sieciowych i innych operacji w internecie.

Dużo narzędzi przetwarzania zbiorów tekstowych.

Dużo użytecznych wbudowanych typów (listy, krotki, słowniki).

Jasna przejrzysta struktura języka, ogromna siła i ekspresja języka.

Duża ilość wersji na różne urządzenia – telefony komórkowe, ipady …

(7)

Dlaczego Python?

Przenośność. PYTHON działa na prawie każdym systemie operacyjnym

Integracja. PYTHON może zostać zintegrowany z różnymi

obiektami. Istnieje implementacja na platformę JAVA, (JYTHON) może zawierać kod C czy C++.

Prostota. Łatwo jest pisać, kod jest czytelny, dzięki czemu wyszukiwanie błędów staje się prostsze

Możliwości. Ubogi standard i bardzo bogate biblioteki.

Elastyczność. PYTHON jest jednym z najbardziej elastycznych programów. Łatwo jest zacząć szybko tworzyć kod i po kolei go rozszerzać.

Open-source. PYTHON jest językiem darmowym i za darmo można go używać i dystrybuować. Ma on otwarty kod źródłowy.

(8)

Platformy PYTHONA

Python (x,y)

Python w Eclipsie (tylko 2.7) plugin

PyDev - Python IDE for Eclipse 2.4.0

Python w Netbeansach

PyQT – interfejs graficzny

PyGtk – interfejs graficzny

Mniej znane - Kate (KDE4), OpenKomodo,

MonoDevelop

(9)

1 CECHA CHARAKTERYSTYCZNA - WCIĘCIA

a=5

if a>3:

if 4<5:

print 2 else:

print 3 else:

print 4

print 5

a=5

if a>3:

if 4<5:

print 2 else:

print 3 else:

print 4

print 5

(10)

Wcięcia

Puste spacje są potężnym narzędziem Pythona:

szczególnie wcięcia i nowe linie.

Używaj ENTER kończąc polecenia.

(Nie średnika jak w C++ lub Javie.)

(Używaj \ kiedy musisz przenieść linię.)

Nie używaj { } do oznaczania bloków kodu – to słownik. W zamian używaj wcięć. Pierwsza linia z dodatkowym wcięciem jest traktowana jak

początek bloku

Często dwukropek pojawia się jako początek

nowego bloku (if :, class :)

(11)

2 CECHA CHARAKTERYSTYCZNA - BRAK DEKLARACJI

Python wyznacza typy danych

automatycznie. “Dynamiczne Typowanie”

Ale Python nie narzuca tych typów, on je wymusza. “Silne Typowanie”

Więc, na przykład, możesz dodać liczbę całkowitą do

łańcucha. Ale musisz najpierw przekształcić liczbę całkowitą w sam łańcuch.

x = “the answer is ” # decyzja - x to łańcuchem y = 23 # decyzja - y to integer.

print x + y # Python wyświetli błąd.

(12)

3 CECHA – DYNAMICZNE

GOSPODAROWANIE PAMIĘCIĄ

a,b,c=2,”As”,[1,2,3]

b,a=a,b # a=‘As’ b=2 d=c

c[1]=0

print d # [1, 0 , 3]

d=[2,4,5]

c.append(d) # c=[1,0,3,[2,4,5], […]]]

d.append(c) # d=[2,4,5,[1,0,3], […]]]

d[3][3] # [2,4,5,[1,0,3], […]]]

del c

(13)

Garbage collection

a=5 b=a

c=[1,5]

d=c

d[1]=4

Usuwanie del d

del c

a=„www”

b=[2,8]

(14)

4 cecha charakterystyczna – elegancja i przyjazny kod

x = 34 - 23 # Komentarz.

y = ‘Hello’ # Inny komentarz

z = 3.45

if z == 3.45 or y ==

‘Hello’:

x = x + 1

y = y + “ World” # Łączenie łańcuchów

print x print y

x = 34 - 23 # Komentarz

y = “Hello” # inny

z = 3.45

if z == 3.45 or y ==

“Hello”:

x = x + 1

y = y + “ World” # łączenie

print x print y

(15)

Komentarze

Komentarz zaczyna się od # pozostałe znaki do końca linii sa ignorowane.

Można włączyć “docstring” jako pierwszą linię dowolnej funkcji lub klasy.

Używaj debuggera i inne narzędzia –

używaj je!: w dobrym tonie jest włączyć je do programu.

def my_function(x, y):

“““To jest docstring.

Ta funkcja robi ... ”””

# Kod funkcji będzie tu...

(16)

Nazewnictwo

Wielkość liter w nazwach jest istotna.Nazwy nie mogą się zaczynać od cyfry. Mogą zawierać litery, cyfry i znak podkreślenia.

Tomek tomek _tomek _2_tomek_

tomek_2 TomeK

To są zarezerwowane słowa Pythona:

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

(17)

Dostęp do nie istniejącej nazwy

Dostęp do nazwy, która nie istnieje spowoduje sygnalizację błędu

>>> y

Traceback (most recent call last):

File "<pyshell#16>", line 1, in -toplevel- y

NameError: name ‘y' is not defined

>>> y = 3

>>> y 3

(18)

W przypadku kodowania

Podstawienie = porównanie ==.

Wśród liczb używamy +-*/% .

◦Szczególne użycie + dla łączenia łańcuchów.

◦Szczególne użycie % dla formatowania łańcuchów.

Logiczne operatory są słowami (and, or, not) nie symbolami (&&, ||, !).

Podstawową instrukcją drukowania jest “print”

Pierwsze podstawienie pod zmienną tworzy ją.

◦Zmienne nie muszą być deklarowane.

◦Python dowiaduje się o typach zmiennych od nich samych.

(19)

Wielokrotne

przyporządkowania

Można używać wielokrotnych podstawień.

>>> x, y = 2, 3

>>> x 2

>>> y 3

>>> x, y=y, x Inne konstrukcje

>>> x++ (niedopuszczalne)

>>> x+=1

>>> y*=3+y

(20)

5 CECHA

CHARAKTERYSTYCZNA -bogactwo typów danych

None

Integer (domyślny dla liczb)

z = 5 / 2 # Odpowiedzią jest 2!

Float

x = 3.456

String (basestring, str, unicode)

Można używać ”” lub ‘’ np “abc” ‘abc’

Jeden łańcuch może się pojawić w drugim “To John’s”

Potrójne łańcuchy używamy dla wielolinijkowych łańcuchów “““a‘b“c”””

(21)

Inne typy danych

Bool a=True

Long (w wersji Pythona 3.x tego typu nie ma) x=1234612974369L

Complex – liczby zespolone x=2.7-3.25e-3j

Listy

x=[1, ‘a’, [3,(3,2-j)], {1:’a’}]

Słowniki

x={(1,2,’a’):[3,’s’,8.2e-2], ‘a’:2j}

Krotki

x=(2,5,’a’,(3,1),[1],{})

(22)

JESZCZE INNE TYPY DANYCH

Zbiory mutowalne (set) a=set([’a’,’b’,3,4])

Zbiory niemutowalne (frozenset) a=frozenset([8,’a’,set([‘0’,0]),9])

Wektory i tablice (biblioteka array) import array

c=array.array(’d’,[1.0,3.14,6.59])

Ułamki (biblioteka fractions) from fractions import Fraction

a=Fraction(1, 10) – Fraction(3, 5)

(23)

OPERATORY

Operacje arytmetyczne

x+y, x-y, x*y, x/y, x//y, x%y, -x, x**y

Operacje bitowe

x|y, x^y, x&y, x<<n, x>>n, ~x

Operatory

< <= > >= == != <> is is not

Operacje logiczne

x or y x and y not x

Cytaty

Powiązane dokumenty

Zapotrzebowanie na specjalistów z dziedziny analizy danych rośnie, dlatego jeśli rozwiniesz swoje kompetencje związane z Big Data, to odpowiesz na potrzeby pojawiające się na

niektóre przedmioty własności przemysłowe(np. patenty oraz znaki towarowe) a także know-how i informacje chronione..

W przypadku deniowania zmiennych w j¦zyku Python nie jest konieczne podanie typu od razu, a sam typ zmiennej ustalany jest w... Rysunek

 Wielkość liter w nazwach jest istotna.Nazwy nie mogą się zaczynać od cyfry..

[,end]]) Sprawdza czy łańcuch zaczyna się od prefiksu prefix s.strip([chrs]) Usuwa wiodące i końcowe spacje lub znaki z chrs s.swapcase() Zamienia duże na małe litery i

[,end]]) Sprawdza czy łańcuch zaczyna się od prefiksu prefix s.strip([chrs]) Usuwa wiodące i końcowe spacje lub znaki z chrs s.swapcase() Zamienia duże na małe litery i

Wchodzimy na stronę http://www.python.org/download/ i ściągamy odpowiednią wersję (pod konkretny system operacyjny: Windows, Linux…)2. Uruchamiamy

W celu zapewnienia dostępu do pod- stawowych funkcji matematycznych należy odwołać się do modułu math poleceniem:..