Различия между версиями 16 и 21 (по 5 версиям)
Версия 16 от 2015-03-18 15:19:13
Размер: 4809
Редактор: Class1
Комментарий:
Версия 21 от 2015-03-19 10:51:42
Размер: 5610
Редактор: Class1
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 18: Строка 18:
  * относительный import (имя модуля: `.*name`)   * <!> относительный import (имя модуля: `.*name`)
Строка 20: Строка 20:
/!\ '''TODO''' пример пакета
Строка 51: Строка 50:
  * <!> Если уж массивы, то [[http://www.numpy.org/|NumPy]] и вообще [[http://scipy.org/|SciPy]]
   * BTW, numpy-массивы [[http://wiki.scipy.org/Cookbook/Indexing|поддерживают Ellipsys]]
Строка 54: Строка 55:
 * /!\ всякое  * Сеть, разбор html/xml, вообще разное в [[pydoc:стандартной библиотеке]]
 * [[pypi:PyPI]]
  * …
Строка 79: Строка 82:
  * [[https://wingware.com/|WingIDE]]
  * [[http://komodoide.com/|KomodoIDE]]
  * [[http://pydev.org/|PyDev]] (для [[https://eclipse.org/|eclipse]])
  * [[https://www.jetbrains.com/pycharm/|PyCharm]]
  * [[http://pytools.codeplex.com/|PTVS]]
 * [[https://wingware.com/|WingIDE]]
  * `.pi`-файлы
 *
[[http://komodoide.com/|KomodoIDE]]
 * [[http://pydev.org/|PyDev]] (для [[https://eclipse.org/|eclipse]])
 * [[https://www.jetbrains.com/pycharm/|PyCharm]]
 * [[http://pytools.codeplex.com/|PTVS]]
 * :) [[http://www.geany.org/manual/current/#tags|GEany]] (поддерживает создание тегов!)
Строка 92: Строка 98:
 * `import zen`  * `import this`
Строка 97: Строка 103:
 * что-то  * Про модули [[pytut:modules.html|в учебнике]]
 * Про всё в [[pydoc:|в документации]] (хотя бы названия :) ), как минимум стоит посмотреть то, что было на занятии
Строка 99: Строка 106:
 * <<Homework(domari:,ExampleTask, Название задачи)>>  * Выбрать IDE и научиться им пользоваться
 * По возможности доделать [[../Homework|домашние задания]]

Модули: создание, использование стандартных и подключение внешних; вопросы разработки: IDE, деплоймент

Долги за позапрошлый и прошлый раз

Диспетчер контекстов

Модули и пакеты

Организация модуля

  • Поиск модуля: Кеш → finder → loader;
    • finder по умолчанию: sys.path

    • __import__()

  • Выполнение кода при загрузке модуля и при запуске его
    • Любой файл на Python — модуль
    • __name__ == "__main__"

  • .pyc и .pyo

  • Пакеты: __init__.py

    • Подпакеты, __all__ для указания пакетов при импорте *

    • <!> относительный import (имя модуля: .*name)

В/В

  • Типизированные файлы: модуль struct.html

  • Сериализация: json.html и pickle.html

    • методы .dump() и .load()

    • pickle умеет объекты!

    • json умеет не все hashable объекты в индексах

  • Индексированны доступ (БД): anydbm.html

    • dict-интерфейс

  • Спецфайлы: zipfile.html, json.html, configparser.html, …

Надстройки над стандартными структурами данных

  • itertools.html):

    • Бесконечные (.stop() или другое частичное вычисление)

    • .i*()-аналоги и некоторые другие манипуляции последовательностями

    • Комбинаторика
  • collections.html

    • deque — быстрая стеко-очередь

    • defaultdict — словарь со значением по умолчанию

    • OrderedDict — словарь с постоянным порядком ключей

    • Counter — словарь для подсчёта всего

  • Куча (heapq.html): «The interesting property of a heap is that a[0] is always its smallest element»

  • weakref.html: Слабые ссылки

Разное

Прикладные модули

GUI

SQL

Разработка

IDE

What IDE to use for Python?

Деплоймент

Finally

  • MoinMoin

  • import this

  • import antigravity

Д/З

Прочитать

Задачи и упражнения


CategoryClass

Lectures/PythonIntro/2015-03-18 (последним исправлял пользователь Class1 2015-03-19 10:51:42)