Лекция 4  Python
Особенности❖ Интерпретируемый❖ Высокоуровневый❖ Объектно-ориентированный❖ Пакеты  на все случаи жизни❖ Код легко читается❖...
>>> import this                     Дзэн ПитонаThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is b...
Реализации❖ Jython❖ PyPy❖ IronPython❖ Cython❖ CPython  ❖ 2.5,   2.6 и 2.7  ❖ 3.x
Hello World!# coding: utf-8persons = (uПетя, uВася, uКоля, uСаша, )# итерируем по спискуfor person in persons:   print uПр...
Hello World! v2# coding: utf-8"""Print greetings for the persons.This is multiline comment."""def greeting(person, index =...
# coding: utf-8                    Hello World! v2u"""Print greetings for the persons.This is multiline comment."""def gre...
Словари>>> # работа со структурами данных...>>> dict(){}>>> d = {server: localhost, port: 22}>>> pass>>> d[server] = 127.0...
>>> list()                                  Списки[]>>> l = [42, dict(), [0, 1, 2]]>>> l[0]42>>> l[1][message] = empty>>> ...
Строки>>> l = (Hello, beatiful, world)>>> s = u .join(l)>>> suHello beatiful world>>> s.split()[uHello, ubeatiful, uworld]...
Переменные>>> v = (a,b,e)>>> (x, y, z) = v>>> if True:. . . k, l = 10, 20...>>> k, l(10, 20)
Builtins>>> l = list()>>> dir(l)[__add__, ... , append, count, extend, index, insert, pop, remove,reverse, sort]>>> import...
Логические операции>>> a or ba>>>  or bb>>>  or [] or {}{}>>> True or print(Hello)>>> True or int(noname)>>> x = A if 5 in...
Средства разработки❖ python  ❖    print❖ ipython/bpython  ❖   справка  ❖   автодополнение  ❖   история команд и результато...
ООП# coding: utf-8class FileInfo(object):   u"хранит метаинформацию о файле"   def __init__(self, filename=None):     self...
Обработка исключенийtry:   # Здесь код, который может вызвать исключение   raise Exception("message")except (Тип исключени...
Upcoming SlideShare
Loading in …5
×

Python

1,160 views
1,022 views

Published on

0 Comments
0 Likes
Statistics
Notes
  • Be the first to comment

  • Be the first to like this

No Downloads
Views
Total views
1,160
On SlideShare
0
From Embeds
0
Number of Embeds
365
Actions
Shares
0
Downloads
4
Comments
0
Likes
0
Embeds 0
No embeds

No notes for slide

Python

  1. 1. Лекция 4 Python
  2. 2. Особенности❖ Интерпретируемый❖ Высокоуровневый❖ Объектно-ориентированный❖ Пакеты на все случаи жизни❖ Код легко читается❖ Кроссплатформенный
  3. 3. >>> import this Дзэн ПитонаThe Zen of Python, by Tim PetersBeautiful is better than ugly.Explicit is better than implicit.Simple is better than complex.Complex is better than complicated.Flat is better than nested.Sparse is better than dense.Readability counts.Special cases arent special enough to break the rules.Although practicality beats purity.Errors should never pass silently.Unless explicitly silenced.In the face of ambiguity, refuse the temptation to guess.There should be one-- and preferably only one --obvious way to do it.Although that way may not be obvious at first unless youre Dutch.Now is better than never.Although never is often better than *right* now.If the implementation is hard to explain, its a bad idea.If the implementation is easy to explain, it may be a good idea.Namespaces are one honking great idea -- lets do more of those!
  4. 4. Реализации❖ Jython❖ PyPy❖ IronPython❖ Cython❖ CPython ❖ 2.5, 2.6 и 2.7 ❖ 3.x
  5. 5. Hello World!# coding: utf-8persons = (uПетя, uВася, uКоля, uСаша, )# итерируем по спискуfor person in persons: print uПривет, personprint udone...$ python hello_world.pyПривет ПетяПривет ВасяПривет КоляПривет Сашаdone...
  6. 6. Hello World! v2# coding: utf-8"""Print greetings for the persons.This is multiline comment."""def greeting(person, index = None): if index is None: return uПривет %s! % person else: return u%s. Привет %s! % (index, person) returnpersons = (uПетя, uВася, )for i, person in enumerate(persons): print greeting(person, i)$ python hello_world2.py0. Привет Петя!1. Привет Вася!
  7. 7. # coding: utf-8 Hello World! v2u"""Print greetings for the persons.This is multiline comment."""def greeting(person, index = None): return u%s. Привет %s! % (index, person)persons = (uПетя, uВася, )for i, person in enumerate(persons): print greeting(person, I)$ python>>> import hello_world20. Привет Петя!1. Привет Вася!>>> hello_world2.greeting(Noname)uNone. Привет Noname!>>> hello_world2.persons(uПетя, uВася)>>> hello_world2.__doc__Print greetings for the persons.This is multiline comment.
  8. 8. Словари>>> # работа со структурами данных...>>> dict(){}>>> d = {server: localhost, port: 22}>>> pass>>> d[server] = 127.0.0.1>>> d[42] = (Life, Question)>>> d{42: (Life, Question), port: 22, server: 127.0.0.1}
  9. 9. >>> list() Списки[]>>> l = [42, dict(), [0, 1, 2]]>>> l[0]42>>> l[1][message] = empty>>> pass>>> l[2].append(3)>>> l[-1].extend([four, five])>>> pass>>> l.insert(0, new)>>> l[1:][42, {message: empty}, [0, 1, 2, 3, four, five]]>>> del l[0]>>> l.index(42)0>>> l.remove(42)>>> l.pop() + [six][0, 1, 2, 3, four, five, six]>>> l[{message: empty}]
  10. 10. Строки>>> l = (Hello, beatiful, world)>>> s = u .join(l)>>> suHello beatiful world>>> s.split()[uHello, ubeatiful, uworld]>>> pass>>> s.upper()uHELLO BEATIFUL WORLD>>> s.lower()uhello beatiful world>>> str(1)1>>> pass>>> str(l)"(Hello, beatiful, world)">>> unicode(None)uNone
  11. 11. Переменные>>> v = (a,b,e)>>> (x, y, z) = v>>> if True:. . . k, l = 10, 20...>>> k, l(10, 20)
  12. 12. Builtins>>> l = list()>>> dir(l)[__add__, ... , append, count, extend, index, insert, pop, remove,reverse, sort]>>> import math>>> dir(math)[__doc__, __name__, __package__, acos, acosh, asin, asinh, atan,atan2, atanh, ceil, copysign, cos, cosh, degrees, e, exp, fabs,factorial, floor, fmod, frexp, fsum, hypot, isinf, isnan, ldexp, log,log10, log1p, modf, pi, pow, radians, sin, sinh, sqrt, tan, tanh,trunc]>>> getattr(l, append)<built-in method append of list object at 0xb74598ac>>>> getattr(l, append)(1)>>> type(l)<type list>>>> help(dir)справка ...>>> file(/etc/hosts, r)<open file /etc/hosts, mode r at 0xb7794128>
  13. 13. Логические операции>>> a or ba>>> or bb>>> or [] or {}{}>>> True or print(Hello)>>> True or int(noname)>>> x = A if 5 in range(10) else B>>> xA
  14. 14. Средства разработки❖ python ❖ print❖ ipython/bpython ❖ справка ❖ автодополнение ❖ история команд и результатов❖ pdb❖ PyPi ❖ easy_install ❖ pip + vitrtualenv
  15. 15. ООП# coding: utf-8class FileInfo(object): u"хранит метаинформацию о файле" def __init__(self, filename=None): self.filename = filename self.name = filename or unknown self.ext = None def __unicode__(self): return self.ext + u - + self.filenameclass MP3FileInfo(FileInfo): def __init__(self, *args, **kwargs): super(MP3FileInfo, self).__init__(*args, **kwargs) self.ext = mp3f = MP3FileInfo(example)print unicode(f)
  16. 16. Обработка исключенийtry: # Здесь код, который может вызвать исключение raise Exception("message")except (Тип исключения1, Тип исключения2, …), Переменная: # Обработка исключения raiseexcept (Тип исключения3, Тип исключения4, …), Переменная: # Обработка исключения passexcept: # Обработка любого другого исключения passelse: # Если исключения не было passfinally: # Код, исполняемый в любом случае pass

×