Differences between revisions 9 and 10
Revision 9 as of 2015-03-17 11:53:05
Size: 1623
Editor: Class1
Comment:
Revision 10 as of 2015-03-17 12:44:10
Size: 3932
Editor: Class1
Comment:
Deletions are marked like this. Additions are marked like this.
Line 8: Line 8:
=== Собственные модули === === Организация модуля ===
 * Поиск модуля: Кеш → finder → loader;
  * finder по умолчанию: `sys.path`
  * `__import__()`
 * Выполнение кода при загрузке модуля и при запуске его
  * Любой файл на Python — модуль
  * `__name__ == "__main__"`
 * `.pyc` и `.pyo`
 * Пакеты: `__init__.py`
  * Подпакеты, `__all__` для указания ''пакетов'' при импорте '''*'''
  * относительный import (имя модуля: `.*name`)

/!\ '''TODO''' пример пакета
Line 19: Line 31:
=== Стандартные модули === === Надстройки над стандартными структурами данных ===
 * [[pydoc:itertools.html]]):
  * Бесконечные (`.stop()` или другое частичное вычисление)
  * '''`.i*()`'''-аналоги и некоторые другие манипуляции последовательностями
  * Комбинаторика
 * [[pydoc:collections.html]]
  * `deque` — быстрая стеко-очередь
  * `defaultdict` — словарь со значением по умолчанию
  * `OrderedDict` — словарь с постоянным порядком ключей
  * `Counter` — словарь для подсчёта всего
 * Куча ([[pydoc:heapq.html]]): «The interesting property of a heap is that a[0] is always its smallest element»
 * [[pydoc:weakref.html]]: Слабые ссылки



=== Разное ===
 * [[pydoc:copy.html]]
 * [[pydoc:inspect.html]]: анализ кода
 * [[pydoc:dis.html]]: «дизассемблер» байт-кода
 * <!> «Массивы» и проблемы представления: [[pydoc:array.html]]
  * [[pydoc:functions.html#buffer|old-style буфер]] и [[pydoc:stdtypes.html#memoryview|memoryview]]
 
Line 22: Line 55:
[[http://pythonhosted.org//fdb/index.html|fdb]] (firebird)  * [[https://pypi.python.org/pypi?%3Aaction=search&term=sql&submit=search|тысячи их]]
 * Firebird: [[http://pythonhosted.org//fdb/index.html|fdb]]
 * [[pydoc:sqlite3.html]]
Line 24: Line 59:
== IDE == == Разработка ==

 * [[http://www.pylint.org/|pylint]] / [[https://github.com/pyflakes/pyflakes/|pyflakes]] / [[http://pychecker.sourceforge.net/|PyChecker]]
 * [[pydoc:unittest.thml]] и другие
 * [[pydoc:pydoc.html]], [[http://sphinx-doc.org/|Sphinx]]
 * [[pydoc:gettext.html]]

=== IDE ===
Line 26: Line 68:
== Pip, EasyInstall и SetupTools == === Деплоймент ===
 *
Pip / EasyInstall
 *
SetupTools
* Virtualenv

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

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

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

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

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

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

    • __import__()

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

  • .pyc и .pyo

  • Пакеты: __init__.py

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

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

/!\ TODO пример пакета

В/В

  • Типизированные файлы: модуль 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: Слабые ссылки

Разное

SQL

Разработка

IDE

What IDE to use for Python?

Деплоймент

Д/З

Прочитать

  • что-то

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


CategoryClass

Lectures/PythonIntro/2015-03-18 (last edited 2015-03-19 07:51:42 by Class1)