1471
Комментарий:
|
3932
|
Удаления помечены так. | Добавления помечены так. |
Строка 1: | Строка 1: |
= Список тем (будет отображаться в календаре) = | = Модули: создание, использование стандартных и подключение внешних; вопросы разработки: IDE, деплоймент = |
Строка 7: | Строка 7: |
== Модули и пакеты == === Организация модуля === * Поиск модуля: Кеш → finder → loader; * finder по умолчанию: `sys.path` * `__import__()` * Выполнение кода при загрузке модуля и при запуске его * Любой файл на Python — модуль * `__name__ == "__main__"` * `.pyc` и `.pyo` * Пакеты: `__init__.py` * Подпакеты, `__all__` для указания ''пакетов'' при импорте '''*''' * относительный import (имя модуля: `.*name`) /!\ '''TODO''' пример пакета |
|
Строка 16: | Строка 30: |
== Модули и пакеты == | |
Строка 18: | Строка 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]] |
Строка 21: | Строка 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]] |
Строка 23: | Строка 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 === |
Строка 25: | Строка 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, …
Надстройки над стандартными структурами данных
Бесконечные (.stop() или другое частичное вычисление)
.i*()-аналоги и некоторые другие манипуляции последовательностями
- Комбинаторика
deque — быстрая стеко-очередь
defaultdict — словарь со значением по умолчанию
OrderedDict — словарь с постоянным порядком ключей
Counter — словарь для подсчёта всего
Куча (heapq.html): «The interesting property of a heap is that a[0] is always its smallest element»
weakref.html: Слабые ссылки
Разное
inspect.html: анализ кода
dis.html: «дизассемблер» байт-кода
«Массивы» и проблемы представления: array.html
SQL
Firebird: fdb
Разработка
unittest.thml и другие
IDE
Деплоймент
Pip / EasyInstall
- Virtualenv
…
Д/З
Прочитать
- что-то
Задачи и упражнения