Kurs języka Python

advertisement
Kurs języka Python
Wykładowca: Marcin Młotkowski
konsultacje: czwartek 12:15­14:00, pok. 303
Termin wykładu: czwartek, 09:15­10:00
Strona wykładu: www.ii.uni.wroc.pl/~marcinm/dyd/python/
Materiały źródłowe
●
www.python.org
●
“Dive into Python”
●
Internet
●
Książki
Pracownia
●
Pierwsza połowa semestru: listy krótkich zadań programistycznych
●
Druga połowa semestru: większy projekt
●
Zaliczenie: zdobycie połowy punktów.
Plan kursu
●
●
●
●
●
●
●
●
Składnia, typy podstawowe
Wbudowane struktury danych
Programowanie obiektowe
Konstrukcje funkcjonalne
Standardowe biblioteki
Interfejsy graficzne
Zastosowania (http, html)
Testowanie i dokumentowanie
Autor
●
●
Guido van Rossum, CWI Amsterdam
Benevolent Dictator for Life (BDFL)
Python – stan obecny
●
●
Aktualna wersja: 2.5 Rozwijany przez Python Software Foundation
Dlaczego Python jest fajny
Prosta i czytelna składnia:
•
Niewielka liczba słów kluczowych i operatorów •
Wymuszenie stosowania wcięć:
def silnia(x):
if x == 0:
return 1
else:
return x * silnia(x­1)
Dlaczego Python jest fajny (cd)
Implementacja różnych paradygmatów:
●
Paradygmat programowania strukturalnego
●
Pardygmat programowania obiektowego
●
Paradygmat programowania funkcjonalnego
Dlaczego Python jest fajny (cd)
Wbudowane typy:
●
Listy
vec = [1, 2, 3]
doubled_vec = [ 2*e for e in vec]
●
Słowniki
tel = { 'krzysiek' : 235711, 'ewa' : 246810 }
print tel['ewa']
Dlaczego Python jest fajny (cd)
Batteries included:
Biblioteki operacji we/wy
●
Obsługa wyrażeń regularnych
●
HTTP, HTML, XML
●
Interfejsy okienkowe (pyGTK, wxPython, Tkinter)
●
...
●
...
●
Inne cechy Pythona
●
Dynamiczny system typów
>>> 2 + "dwa"
Traceback (most recent call last):
File "<stdin>", line 1, in ?
TypeError: unsupported operand type(s) for +: 'int' and 'str'
>>>
Zastosowania/projekty
●
Narzędzia systemowe (RedHat)
●
Google
●
NASA
●
ZOPE/PLONE
●
....
Python – tryb interaktywny
Tryb interaktywny:
$ python
>>> 2+2
4
>>> [1,2,3][­1:]
[3]
Ctrl­d
$
Tryb wsadowy
$ python plik.py
●
●
●
Kompilacja programu
W wypadku modułów tworzony jest plik.pyc – skompilowany wieloplatformowy moduł
Wykonanie programu
Składnia
●
Przypisanie
cztery = 2 + 2
x = y = z = 0
nazwa = 'Pyt' + 'hon'
pierwsze = [2, 3, 5, 7]
a, b = b, a+b
Instrukcja warunkowa
x = 4
if x % 2 == 0:
print "parzysta"
print "x = ", 2
x = 4
if x % 2 == 0:
print "parzysta"
print "x = ", 2
Instrukcja warunkowa, cd
x = 400
if x % 2 == 0:
if x > 100: print "duza parzysta"
elif 10 < x <= 100:
print “nieduza parzysta”
else:
print "mala parzysta"
Wyrażenia logiczne
●
Fałsz: 0, False, None, [], {}
●
Prawda: True, wartości niepuste
●
Spójniki: and, or, not
●
Operatory: ==, !=, 1 < x < 2
Pętla while
Pętla while:
a, b = 0, 1
while b < 10:
print b
a, b = b, a + b
Pętla for
a = [1,2,3,4]
for e in a:
print e
print “koniec”
Pętla for, cd
“Prawdziwa” pętla suma = 0
for i in range(100):
suma = suma + i
print “suma=”, suma
Inne instrukcje
●
●
Instrukcje break i continue
Instrukcja pusta pass
while (True): pass
Procedury i funkcje
def funkcja(arg1, arg2=1, arg3=[]):
print arg1, arg2, arg3
return 4
funkcja(“jeden”, , [3])
print funkcja(1, 2, 3)
Komentarze
def fun (arg):
””” To jest bardzo wazna funkcja
uzywac z wielka ostoznoscia”””
# koniec gdy argument pusty
if arg == None: return
return arg
Kilka porad
●
Edytory z podświetleniem składni: vim, gedit, emacs
●
Pliki “wykonywalne” i polskie litery;
plik.py:
#!/usr/bin/python
# ­*­ coding: iso­8859­2 ­*­
Download