Kurs języka Python Wykład 2

advertisement
Kurs języka Python
Wykład 2
Plan wykładu:
●
Typy proste
●
Typy złożone (kolekcje)
●
Stringi
Typy podstawowe
●
●
Typy proste: całkowite, zmiennopozycyjne,
logiczne
Typy sekwencyjne: napisy, listy, krotki, bufory,
zbiory
''Czyste'' liczby całkowite
●
Zakres [-sys.maxint – 1, sys.maxint ]
●
Operatory: +, - , /, //, %, **
●
Funkcje: abs(x), divmod(x, y) = (x // y, x % y)
●
Wynik jest liczbą całkowitą, np.
4 // 3 = 1
Liczby całkowite - konwersja
●
●
Brak konwersji
(1.0*4) // 3 = 1.0
(1.0*4) / 3 = 1.33333333333333
Funkcje konwersji:
float(4) / 3 = 4 / float(3)
Długie liczby całkowite
>>> 1000 ** 10
1000000000000000000000000000000L
>>> long(100)
100L
Stałe liczbowe
●
●
Całkowite:
0x123, 0x123456789L
0123, 06789L
Zmiennopozycyjne:
3.14
10.
.002
.271e1
Liczby zespolone
●
●
Literały i wyrażenia:
1+3j
x + 12j
complex(x, 0)
Operatory:
x.real ** 2+ y.imag**2
Standardowe biblioteki
●
math:
import math
print math.cos(3.14)
●
random
from random import *
print random()
Co to za film?
Kolekcje
●
Listy: [12,3]
●
Napisy: “a bc” , 'def', u'Zażółć żółtą jaźń'
●
Krotki: (1, “jed en” ), (1, 2+3j, 0x4)
●
Słowniki
●
Zbiory
Operator zawierania
'bc' in 'abcd'
4 not in [2, 3, 5, 7, 11]
'pi' in { 'pi' : 31417, 'e' : 2.71 }
Łączenie kolekcji
[ 'jeden', 2, 3.0 ] + [ 0x4, 05 ]
('jeden', 2, 3.0) + (0x4, 05)
Wielkość kolekcji
len( ['jeden', 2, 3.0] )
len ( {'jeden' : 1, 'dwa' : 2 })
len( (1, 2, 3) )
Odwołania do elementów
[1, 2, 3][2] = 3
'abcd'[1:3] = 'bc'
(1, 2, 3)[1:] = (2, 3)
(1,2,3)[:1] = (1, )
'Python'[:-1] = 'Pytho'
'Python'[-1:] = 'Python'[-1]
= 'n'
Slicing
'informatyka'[::3] = 'ioak'
Poszukiwacz św. Graala
Krotki (tuple)
brown = 165, 42, 42
NavyBlue = (0,0,128)
htmlColor = { 'turquoise' : (64,224,208), 'NavyBlue'
: NavyBlue }
r, g, b = htmlCol['NavyBlue']
Wariacje nt. iteratorów
x = [1,2,3]
y = [4,5,6]
prod = 0
for i in range(len(x)):
prod += x[i] * y[i]
Wariacje nt. iteratorów
listy
prod = 0
for i, v in enumerate(x):
prod += v * y[i]
print prod
I jeszcze raz to samo
x = [1,2,3]
y = [4,5,6]
prod = 0
for a,b in zip(x,y):
prod += a*b
Wariacje nt. iteratorów
słowniki
dict = { 'uno' : 1, 'duo' : 2, 'tre': 3 }
for key, val in dict.iteritems():
print key, "=", val
Stałe napisowe
Stałe:
'Ala ma kota'
“ Ala ma kota”
Unicode:
” Zażółć żółtą jaźń”
u” Zażółć żółtą jaźń”
Długie
'''To jest
wielolinijkowy
string'''
Stringi
Stringi są kolekcjami
●
'raw' strings: r'abcd\n'
●
Kontynuacja napisu:
“ To jest bardzo\n\
długi tekst\n”
●
Mnóstwo funkcji bibliotecznych
●
Stringi są niemutowalne, tj. 'abc'[1] = 'd'
●
Formatowanie stringów
Operator %:
print “% i + %i = %i\n”
%
(2, 2, 2+2)
dict = { 'dwa' : 2, 'cztery' : 4 }
print “% (dwa)s + %(dwa)s = %(cztery)s\n” % dict
Na koniec
Download