Język Python Język Python 1/35
Język Python 2/35 Wstęp Uruchamianie interpretera python Skrypty wykonywalne #!/usr/bin/python #!/usr/bin/env python lub #!/usr/bin/python3 #!/usr/bin/env python3 chmod +x nazwa_skryptu.py
Język Python 3/35 Komentarze Tworzenie komentarzy # krótki komentarz Kodowanie plików źródłowych (python2) # -*- coding: symbol_kodowania -*- # -*- coding: iso-8859-2 -*-
Język Python 4/35 Liczby Operacje na liczbach >>> 2+2 4 >>> 2 + 2 4 >>> (36 2 6)/4 6 >>> 7/3 2 # 2.3333333333333335 python3 >>> 7/ 3 3 # 2.3333333333333335 python3 >>> 2 5 32
Język Python 5/35 Zmienne Tworzenie zmiennych >>> s z e r o k o s c = 20 >>> wysokosc = 5 2 5 >>> s z e r o k o s c wysokosc 1000 Zmienne niezdefiniowane >>> wysokosc 50 >>> Wysokosc Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> NameError : name Wysokosc i s not d e f i n e d
Język Python 6/35 Zmienne (2) Liczby zmiennoprzecinkowe >>> 3 3.75 / 1. 5 7. 5 >>> 7. 0 / 2 # p o t r z e b n e t y l k o w python2 3. 5 Liczby zespolone >>> a =1.5+0.5 j >>> a. r e a l 1. 5 >>> a. imag 0. 5 >>> a (1.5+0.5 j )
Język Python 7/35 Łańcuchy znaków Cudzysłów >>> spam eggs spam eggs >>> doesn\ t "doesn t" >>> " doesn t" "doesn t" >>> "Yes," he said. "Yes," he said. >>> "\"Yes,\" he said." "Yes," he said. >>> "Isn\ t," she said. "Isn\ t," she said.
Język Python 8/35 Specjalne cudzysłowy Potrójny p r i n t """ Składnia: nazwa_programu [ OPCJE] Ogólny opis programu. Argumenty: -h Wyświetl ten komunikat pomocy """ Składnia: nazwa_programu [OPCJE] Ogólny opis programu. Argumenty: -h Wyświetl ten komunikat pomocy
Język Python 9/35 Print w python3 Potrójny p r i n t ( """ Składnia: nazwa_programu [ OPCJE] Ogólny opis programu. Argumenty: -h Wyświetl ten komunikat pomocy """ ) Składnia: nazwa_programu [OPCJE] Ogólny opis programu. Argumenty: -h Wyświetl ten komunikat pomocy
Język Python 10/35 Operacje na napisach >>> slowo = Napis + A >>> slowo NapisA >>> < + slowo 5 + > <NapisANapisANapisANapisANapisA > >>> str ing string >>> str. s t r i p ( ) + ing string >>> str. s t r i p ( ) ing F i l e "<stdin >", l i n e 1 str. s t r i p ( ) ing ˆ S y n t a x E r r o r : i n v a l i d s y n t a x
Język Python 11/35 Podciągi >>> slowo = NapisA >>> slowo [ 5 ] A >>> slowo [ 0 : 2 ] Na >>> slowo [ 3 : 5 ] is >>> slowo [ : 2 ] Na >>> slowo [ 4 : ] sa
Język Python 12/35 Podciągi (2) >> slowo [ : 2 ] + slowo [ 2 : ] NapisA >>> slowo [ : ] NapisA >>> slowo [ 1 : 1 0 0 ] apisa >>> slowo [ 1 0 : ] >>> slowo [ 2 : 1 ] >>> slowo [ 1 0 0 ] Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> I n d e x E r r o r : s t r i n g i n d e x out o f range
Język Python 13/35 Podciągi (3) Ujemne indeksy >>> slowo [ 1] A >>> slowo [ 2:] sa >>> slowo [: 2] Napi Uwaga na: >>> slowo [ 100:] NapisA >>> slowo [ 10] Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> I n d e x E r r o r : s t r i n g i n d e x out o f range
Język Python 14/35 Ciągi znaków są niezmienne >>> slowo [ 0 ] = x Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> TypeError : str object does not s u p p o r t item assignment >>> slowo = x + slowo [ 1 : ] >>> slowo xapisa >>> slowo [ : 1 ] = Wiekszy Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> TypeError : str object does not s u p p o r t item assignment >>> slowo = Wiekszy + slowo [ 1 : ] >>> slowo WiekszyapisA
Język Python 15/35 Operacje na łańcuchach znaków >>> l i = [ pwd=secret, user=master, uid=sa ] >>> s = ";". j o i n ( l i ) >>> s pwd= secret; user= master; uid=sa >>> s. s p l i t ( ";" ) [ pwd=secret, user=master, uid=sa ] >>> s. s p l i t ( ";", 1) [ pwd=secret, user=master;uid=sa ]
Język Python 16/35 Listy Tworzenie >>> a = [ spam, eggs, 100, 1234] >>> a [ spam, eggs, 100, 1234] Pusta lista >>> b = [ ] >>> p r i n t ( b ) [ ]
Język Python 17/35 Listy (2) Odwoływanie się do elementów >>> a [ 0 ] spam >>> a [ 3 ] 1234 >>> a [ 2] 100 >>> a [1: 1] [ eggs, 100] >>> a [ : 2 ] + [ bacon, 2 2] [ spam, eggs, bacon, 4 ] >>> 2 a [ : 3 ] + [ Boo! ] [ spam, eggs, 100, spam, eggs, 100, Boo! ]
Język Python 18/35 Listy (3) Przypisywanie wartości >>> p r i n t ( a ) [ spam, eggs, 100, 1234] >>> a [ 2 ] = a [ 2 ] + 23 >>> p r i n t ( a ) [ spam, eggs, 123, 1234]
Język Python 19/35 Listy (4) Przypisywanie wartości cd. >>> a [ 0 : 2 ] = [ 1, 1 2 ] >>> a [ 1, 12, 123, 1234] >>> a [ 0 : 2 ] = [ ] >>> a [ 1 2 3, 1234] >>> a [ 1 : 1 ] = [ b, xyz ] >>> a [ 1 2 3, b, xyz, 1234] >>> a [ : 0 ] = a >>> a [ 1 2 3, b, xyz, 1234, 123, b, xyz, 1234] >>> a [ : ] = [ ] >>> a [ ]
Język Python 20/35 Listy zagnieżdżone >>> q = [ 2, 3 ] >>> p = [ 1, q, 4 ] >>> len ( p ) 3 >>> p [ 1 ] [ 2, 3 ] >>> p [ 1 ] [ 0 ] 2 >>> p [ 1 ]. append ( xtra ) >>> p [ 1, [ 2, 3, xtra ], 4 ] >>> q [ 2, 3, xtra ]
Język Python 21/35 Krotki >>> k = ( 1, a, 1. 7 5 ) >>> k ( 1, a, 1. 7 5 ) >>> k [ 1 ] a >>> k [ 1 ] = b Traceback ( most r e c e n t c a l l l a s t ) : F i l e "<stdin >", l i n e 1, i n <module> TypeError : tuple object does not s u p p o r t item assignme >>> k [ 2 : ] ( 1. 7 5, )
Język Python 22/35 Reguły składni języka Python Podstawowe reguły Instrukcje wykonywane są kolejno, chyba że nakażemy inaczej Bloki i granice instrukcji są wykrywane automatycznie Instrukcje złożone to nagłówek, :, instrukcje wcięte Spacje i komentarze są przeważnie ignorowane
Język Python 23/35 Reguły składni języka Python Ograniczniki bloków Ograniczniki instrukcji Instrukcje mogą rozciągać się na kilka wierszy, jeśli obejmują otwartą parę synktatyczną Instrukcje mogą obejmować wiele wierszy, jeśli się kończą ukośnikiem
Język Python 24/35 Przykłady wierszy kontynuacyjnych L = [ "Dobry", "Zly", "Brzydki" ] i f a == b and c == d and \ d == e and f == g : p r i n t ( prawda ) i f ( a == b and c == d and d == e and f == g ) : p r i n t ( prawda )
Język Python 25/35 Instrukcja if Składnia i f <t e s t 1 >: <i n s t r u k c j e 1 > e l i f <t e s t 2 >: <i n s t r u k c j e 2 > e l s e : <i n s t r u k c j e 3 >
Język Python 26/35 Instrukcja if (2) Przykład: >>> x = i n t ( input ( "Wpisz liczbę całkowitą: " ) ) # python >>> i f x < 0 :... x = 0... p r i n t ( Liczba ujemna zamieniona na zero )... e l i f x == 0 :... p r i n t ( Zero )... e l i f x == 1 :... p r i n t ( Jeden )... e l s e :... p r i n t ( Więcej )...
Język Python 27/35 Instrukcja while Składnia while <t e s t >: <i n s t r u k c j e 1 > e l s e : <i n s t r u k c j e 2 >
Język Python 28/35 Instrukcja while Przykłady >>> x = mielonka >>> while x :... p r i n t ( x, end=" " ) # python2 : p r i n t x,... x = x [ 1 : ]... mielonka i e l o n k a e l o n k a l o n k a onka nka ka a >>> a =0; b=10 >>> while a < b :... p r i n t ( a, end=" " )... a = a + 1... 0 1 2 3 4 5 6 7 8 9
Język Python 29/35 break, continue, pass i else break continue pass pętla else blok Ogólny format pętli while <t e s t >: <i n s t r u k c j e 1 > i f <t e s t >: break i f <t e s t >: continue e l s e : <i n s t r u k c j e 2 >
Język Python 30/35 Pętla for Składnia f o r <c e l > i n <o b i e k t >: <i n s t r u k c j e > i f <t e s t >: break i f <t e s t >: continue e l s e : <i n s t r u k c j e >
Język Python 31/35 Pętla for - przykłady Przykład 1: >>> f o r x i n [ "mielonka", "jajka", "szynka" ] :... p r i n t ( x, end=" " )... mielonka j a j k a szynka Przykład 2: >>> sum = 0 >>> f o r x i n [ 1, 2, 3, 4 ] :... sum = sum + x... >>> sum 10
Język Python 32/35 Pętla for - przykłady (2) Przykład 3: >>> seq1 = "kulka" >>> seq2 = "kurka" >>> >>> r e s = [ ] >>> f o r x i n seq1 :... i f x i n seq2 :... r e s. append ( x )... >>> r e s [ k, u, k, a ]
Język Python 33/35 Pętle licznikowe i range() Funkcja range() >>> range ( 5 ) [ 0, 1, 2, 3, 4 ] >>> range ( 0, 10, 2) [ 0, 2, 4, 6, 8 ]
Język Python 34/35 Pętle licznikowe >>> X = mielonka >>> f o r p o z y c j a i n X : p r i n t ( pozycja, end=" " )... m i e l o n k a >>> i = 0 >>> while i < len (X ) :... p r i n t (X[ i ], end=" " ) ; i = i +1... m i e l o n k a >>> f o r i i n range ( len (X ) ) : p r i n t (X[ i ], end=" " )... m i e l o n k a >>> f o r i i n range ( 3 ) : p r i n t ( i, Drzwi )... 0 Drzwi 1 Drzwi 2 Drzwi
Język Python 35/35 W wykładzie wykorzystano materiały The Python Tutorial, http://docs.python.org/tutorial/index.html Mark Lutz, David Ascher, Python. Wprowadzenie, Helion, 2002