Upload
buikhanh
View
244
Download
4
Embed Size (px)
Citation preview
Programavimo kalba
Pythontryliktoji paskaita
Marius Gedminas<[email protected]>
http://mg.b4net.lt/python/
2006 ruduo
Kartojimas
arba
„Ką reikia žinoti per įskaitą“
Puiki proga užduoti klausimus
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
sakinys = eilutė(išskyrus skliaustus, ; ir \)
priskyrimo sakinys a = b a, b = c, d a += b
sakinys != reiškinys
print, return, raise, import, assert, del
if, for, while, try, def, class
blokas - sakinių seka, pastumta į dešinę
operatoriai+x -x ~x
x**yx*y x/y x%y
x+y x-yx<<y x>>y
x&yx^yx|y
x<y x<=y x==y x>=y x>y x!=y x in y x is ynot x
x and yx or y
literalai123 0xFF 0377
12.5 0.32 2.45e-121.0+3.5j -2j
'abc' "abc" '''abc''' """abc"""u'abc\u010D' r'abc\(.\)'
True False None[a, b, c] []
{x: a, y: b, z: c} {}(a, b, c) (a,) ()
sąrašaisome_list[3]some_list[-3]some_list[3:5]some_list[1:-1]
some_list[1:-1:2]some_list[::-1]
[x ** 2 for x in some_list][-x for x in some_list if x < 0]
[(x, y) for x in one_list for y in other_list][(x, y) for x in one_list for y in other_list if x > y]
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
str unicodeint long
float complexbool
tuple list dict setfile
Konstruktorius = tipų keitimas
(str -> int ir atvirkščiai)
Daug naudingų metodų
strlower upper capitalize title
center ljust rjust strip lstrip rstripcount find rfind index rindex
endswith startswithdecode encode expandtabs
isalpha isalnum isdigit islower isupper istitleisspace
join split splitlines replace
listappend extend insert
count indexremove popreverse sort
value in a_lista_list[i:j] = some_other_list
del a_list[i:j]
dictkeys values items
has_key get setdefaultpop popitemclear update
copy fromkeys
key in a_dictfoo = a_dict[key]a_dict[key] = foo
fileread readline readlines
write writelinesflush close
tell seek truncateisatty
print >> f, 'lia lia'for line in f: ...
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
Vidinės funkcijos
abs chr unichr ordlen range
divmod powmin max sum zipdir getattr hasattr
id hashisinstance issubclass
reprraw_input input eval
Kiti moduliai
os sys glob math cmath decimal random setsdatetime time optparse getopt StringIO
cStringIO pickle cPickle difflib textwrap pprintstring re struct curses tempfile shutil locale
gettext logging threading Queue zipfile readlinecsv email inspect linecache traceback array
itertools fileinput subprocess socket pdb profilecgi urllib httplib imaplib smtplib xmlrpclib xml
audioop md5 sha Tkinter distutils unittestdoctest ConfigParser
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
try ... except
try ... finally
raise
ExceptionKeyError IndexError
OSError IOErrorTypeError ValueError
NameError AttributeErrorSyntaxError ImportError
ZeroDivisionErrorRuntimeError
KeyboardInterrupt
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
Objektas yra bet kas, ką galima
priskirti kintamajam
Viskas yra objektai
(net funkcijos, klasės, moduliai)
Du vardai gali rodyti į tą patį objektą
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
Lokalūs ir globalūs kintamieji
Funkcijos funkcijų viduje
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
unittest
doctest
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
for x in anything: ...
__iter__
next
yield
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
os.system
os.popen
popen2
subprocess
threading
Queue
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris
pdb
import pdb; pdb.set_trace()
profile
SintaksėDuomenų tipai
Standartinė bibliotekaIšskirtinės situacijos
Objektai, vardai ir nuorodosVardų veikimo zonos
Automatizuotas kodo testavimasIteratoriai ir generatoriai
Procesai ir gijosDebugeris ir profaileris