Join the nice side
We have Python!!!
Устали от...
• segfault-ов
• логики, смешанной с
представлением
• получасовой компиляции
• усложненного синтаксиса
?
http://www.python.org
http://www.python.com
Классификация
• Скриптовый
• Интерпретируемый
• Динамический
• Строгий по типизации
o нельзя сложить строку и число
o нет ...
Достоинства
• простой синтаксис
o мало ключевых слов
o форматирование
• легкость в обучении
• синтаксическая мощь
• скорос...
Программы
• текстовые .py файлы
o может быть и программой и модулем
o это часто используется для тестов
• любой модуль отд...
Переменные и типы
• не нуждается в объявлении
>>> a = 1
>>>
• присваивание не возвращает значения
• >>> a
1
• перед исполь...
Строки
• заключаются в кавычки (любые)
• тройные кавычки - многострочники
• последовательность символов, включая NULL
o фа...
Числа
• int - соответсвует long в С
o >>> 5 / 2
2
o >>> 5 / 2.0
2.5
• float - соответсвует double
• long - не ограниченной...
Списки
• хранят любые элементы
o заменяют массивы
o задаются с помощью [ ]
• >>> lst = []
>>> lst.append(1)
>>> lst.append...
Tuples
• таплы, или кортежи
o сходны по принципу со списками
o последовательность любых элементов
o не изменяемы
• автомат...
Словари
• хранят пары ключ-значение
o иногда называются хешами
o ключи должны быть неизменяемыми
o значения могут быть люб...
Блоки
• формируются отступами
o двоеточие - начало блока
o можно использовать пробелы и табы
o можно смешивать, но лучше -...
Циклы
• цикл for используется для итерирования
• >>> for ch in 'xyz':
... print ch
...
x
y
z
• функция xrange() возвращает...
Функции
• объявляются ключевым словом def:
o >>> def useless(val):
... return val + 2
...
>>> useless(3)
5
• функции являю...
Классы
• создаются ключевым словом class
• бывают old и new style
• >>> class Simple(object):
... def __init__(self, param...
Классы (продолжение)
• специальные методы
o __init__ - инициализатор
o __del__ - деструктор
• self - явный указатель на эк...
Модули
• реализуются на Python и C/C++
• для подключения используется import
o >>> import math
>>> mat.sin(1)
• возможен ч...
Исключения
• используются для обработки ошибок
• >>> try:
... 1/0
... except ZeroDivisionError:
... print 'Ouch'
...
Ouch
...
Потоки
• легко реализуются
• >>> from time import sleep
>>> from threading import Thread
>>> class MyThread(Thread):
... d...
Стандартная библиотека
• в поставку python входит набор стандартных
библиотек
• реализована масса функций
o сокеты; проток...
Upcoming SlideShare
Loading in …5
×

Join the python_side

460 views

Published on

Published in: Education, Technology
0 Comments
1 Like
Statistics
Notes
  • Be the first to comment

No Downloads
Views
Total views
460
On SlideShare
0
From Embeds
0
Number of Embeds
42
Actions
Shares
0
Downloads
6
Comments
0
Likes
1
Embeds 0
No embeds

No notes for slide

Join the python_side

  1. 1. Join the nice side We have Python!!!
  2. 2. Устали от... • segfault-ов • логики, смешанной с представлением • получасовой компиляции • усложненного синтаксиса ?
  3. 3. http://www.python.org http://www.python.com
  4. 4. Классификация • Скриптовый • Интерпретируемый • Динамический • Строгий по типизации o нельзя сложить строку и число o нет неявных приведений типов • C-образный синтаксис
  5. 5. Достоинства • простой синтаксис o мало ключевых слов o форматирование • легкость в обучении • синтаксическая мощь • скорость • библиотеки o масса готовых o расширяемость • разумный дизайн (import this) • работает везде o множество портов o машинно-независимый байт-код
  6. 6. Программы • текстовые .py файлы o может быть и программой и модулем o это часто используется для тестов • любой модуль отдельное пространство имен • пространство имен модуля - глобально
  7. 7. Переменные и типы • не нуждается в объявлении >>> a = 1 >>> • присваивание не возвращает значения • >>> a 1 • перед использованием надо создать >>> b ..... Name error: name 'b' is not defined • всегда имеют тип >>> type(a) <type 'int'>
  8. 8. Строки • заключаются в кавычки (любые) • тройные кавычки - многострочники • последовательность символов, включая NULL o фактически заменяют массивы байтов • >>> s = 'Hello' >>> s 'Hello' >>> s = "Say 'hello'" >>> s "Say 'hello'" >>> s = """This can be a multiline string"""
  9. 9. Числа • int - соответсвует long в С o >>> 5 / 2 2 o >>> 5 / 2.0 2.5 • float - соответсвует double • long - не ограниченной длины o автоматически конвертируется из int o >>> h = 1L << 64 >>> h ** 5 2135987035920910082395021706169552114 6027045223566527699470416078222197257 80640550022962086936576L
  10. 10. Списки • хранят любые элементы o заменяют массивы o задаются с помощью [ ] • >>> lst = [] >>> lst.append(1) >>> lst.append("hi") >>> len(lst) 2 >>> lst[0] = 2 >>> a = lst.pop()
  11. 11. Tuples • таплы, или кортежи o сходны по принципу со списками o последовательность любых элементов o не изменяемы • автоматическая упаковка/распаковка o >>> point = 2, 3 >>> x, y = point >>> x 2 o >>> single = (1,) • используются для возврата нескольких значений из функций
  12. 12. Словари • хранят пары ключ-значение o иногда называются хешами o ключи должны быть неизменяемыми o значения могут быть любыми • >>> d = {} >>> d['foo'] = 'bar' >>> d[1] = 'boz' >>> cd = {'name': 'John Applseed', 'age': 15, 'tags': ['friend', 'school']}
  13. 13. Блоки • формируются отступами o двоеточие - начало блока o можно использовать пробелы и табы o можно смешивать, но лучше - не нужно o стандарт - 4 пробела • >>> if True: ... print 'Hi' ... Hi >>>
  14. 14. Циклы • цикл for используется для итерирования • >>> for ch in 'xyz': ... print ch ... x y z • функция xrange() возвращает генератор для циклов со счетчиком • while - цикл с условием • есть операторы continue и break • циклы могут иметь блок else
  15. 15. Функции • объявляются ключевым словом def: o >>> def useless(val): ... return val + 2 ... >>> useless(3) 5 • функции являются значениями o >>> useless <function useless at fac680> >>> foo = useless >>> foo(2) 5
  16. 16. Классы • создаются ключевым словом class • бывают old и new style • >>> class Simple(object): ... def __init__(self, param): ... self._param = param ... self._inner = 5 ... def get_param(self): ... return self._param ... >>> s = Simple(4) >>> print s.get_param() 4
  17. 17. Классы (продолжение) • специальные методы o __init__ - инициализатор o __del__ - деструктор • self - явный указатель на экземпляр класса o автоматически подставляется при вызове o имя self - не обязательное, но рекомендуемое • как и функция является значением o >>> Other = Simple >>> cl = Other(2)
  18. 18. Модули • реализуются на Python и C/C++ • для подключения используется import o >>> import math >>> mat.sin(1) • возможен частичный импорт o >>> from math import cos >>> cos(0) • импорт со сменой имени o >>> from os.path import join as path_join >>> path_join('/usr/bin/', 'python')
  19. 19. Исключения • используются для обработки ошибок • >>> try: ... 1/0 ... except ZeroDivisionError: ... print 'Ouch' ... Ouch • Допускается несколько блоков except • Блок finally - для всегда выполняющегося кода • Блок else - если не было исключений
  20. 20. Потоки • легко реализуются • >>> from time import sleep >>> from threading import Thread >>> class MyThread(Thread): ... def run(self): ... for i in xrange(3): ... print i, ... sleep(1) ... >>> t = MyThread() >>> t.start() 0 1 2
  21. 21. Стандартная библиотека • в поставку python входит набор стандартных библиотек • реализована масса функций o сокеты; протоколы интернет; сервисы ОС; GUI (Tk); работа с СУБД; работа с датами, временем и календарями; отладчик; профилировщик; парсер python; работа с файлами; персистентность; многопоточность и многопроцессовость и т.д.

×