873
Комментарий:
|
← Версия 21 от 2015-03-19 10:51:42 ⇥
5610
|
Удаления помечены так. | Добавления помечены так. |
Строка 1: | Строка 1: |
= Список тем (будет отображаться в календаре) = == Долги за позапрошлый раз == |
= Модули: создание, использование стандартных и подключение внешних; вопросы разработки: IDE, деплоймент = == Долги за позапрошлый и прошлый раз == === Диспетчер контекстов === * `with`: [[pyref:datamodel.html#with-statement-context-managers]], [[pyref:compound_stmts.html#with]] * [[pydoc:stdtypes.html#typecontextmanager|диспетчеры контекстов]]: [[pydoc:contextlib.html]] == Модули и пакеты == === Организация модуля === * Поиск модуля: Кеш → finder → loader; * finder по умолчанию: `sys.path` * `__import__()` * Выполнение кода при загрузке модуля и при запуске его * Любой файл на Python — модуль * `__name__ == "__main__"` * `.pyc` и `.pyo` * Пакеты: `__init__.py` * Подпакеты, `__all__` для указания ''пакетов'' при импорте '''*''' * <!> относительный import (имя модуля: `.*name`) |
Строка 13: | Строка 30: |
=== Надстройки над стандартными структурами данных === * [[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:re.html]] * [[pydoc:copy.html]] * [[pydoc:inspect.html]]: анализ кода * [[pydoc:dis.html]]: «дизассемблер» байт-кода * <!> «Массивы» и проблемы представления: [[pydoc:array.html]] * [[pydoc:functions.html#buffer|old-style буфер]] и [[pydoc:stdtypes.html#memoryview|memoryview]] * <!> Если уж массивы, то [[http://www.numpy.org/|NumPy]] и вообще [[http://scipy.org/|SciPy]] * BTW, numpy-массивы [[http://wiki.scipy.org/Cookbook/Indexing|поддерживают Ellipsys]] == Прикладные модули == * `SimpleHttpServer` с примером * Сеть, разбор html/xml, вообще разное в [[pydoc:стандартной библиотеке]] * [[pypi:PyPI]] * … === GUI === * [[http://www.riverbankcomputing.com|pyQt]] * pyGTK (примеры: `/usr/share/doc/python-module-pygtk-examples-2.24.0/`) * [[http://www.wxpython.org/|WXPython]] * Tk :) * http://kivy.org … === SQL === * [[https://pypi.python.org/pypi?%3Aaction=search&term=sql&submit=search|тысячи их]] * Firebird: [[http://pythonhosted.org//fdb/index.html|fdb]] * [[pydoc:sqlite3.html]] == Разработка == * [[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]] * Пример работы как HTTP-сервера * [[pydoc:gettext.html]] === IDE === [[http://stackoverflow.com/questions/81584/what-ide-to-use-for-python|What IDE to use for Python?]] * [[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]] (поддерживает создание тегов!) === Деплоймент === * [[https://docs.python.org/2/installing/index.html|Pip / EasyInstall]] * [[https://docs.python.org/2/distributing/index.html|SetupTools/Wheel]] * [[https://virtualenv.pypa.io/en/latest/|Virtualenv]] … == Finally == * MoinMoin * `import this` * `import antigravity` |
|
Строка 16: | Строка 103: |
* что-то | * Про модули [[pytut:modules.html|в учебнике]] * Про всё в [[pydoc:|в документации]] (хотя бы названия :) ), как минимум стоит посмотреть то, что было на занятии |
Строка 18: | Строка 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, …
Надстройки над стандартными структурами данных
Бесконечные (.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
Если уж массивы, то NumPy и вообще SciPy
BTW, numpy-массивы поддерживают Ellipsys
Прикладные модули
SimpleHttpServer с примером
Сеть, разбор html/xml, вообще разное в стандартной библиотеке
- …
GUI
pyGTK (примеры: /usr/share/doc/python-module-pygtk-examples-2.24.0/)
Tk
…
SQL
Firebird: fdb
Разработка
unittest.thml и другие
- Пример работы как HTTP-сервера
IDE
Деплоймент
…
Finally
import this
import antigravity
Д/З
Прочитать
Про модули в учебнике
Про всё в в документации (хотя бы названия ), как минимум стоит посмотреть то, что было на занятии
Задачи и упражнения
- Выбрать IDE и научиться им пользоваться
По возможности доделать домашние задания