3932
Комментарий:
|
← Версия 21 от 2015-03-19 10:51:42 ⇥
5610
|
Удаления помечены так. | Добавления помечены так. |
Строка 18: | Строка 18: |
* относительный import (имя модуля: `.*name`) | * <!> относительный import (имя модуля: `.*name`) |
Строка 20: | Строка 20: |
/!\ '''TODO''' пример пакета | |
Строка 44: | Строка 43: |
Строка 47: | Строка 44: |
* [[pydoc:re.html]] | |
Строка 52: | Строка 50: |
* <!> Если уж массивы, то [[http://www.numpy.org/|NumPy]] и вообще [[http://scipy.org/|SciPy]] * BTW, numpy-массивы [[http://wiki.scipy.org/Cookbook/Indexing|поддерживают Ellipsys]] |
|
Строка 53: | Строка 53: |
== Прикладные модули == * `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 … |
|
Строка 64: | Строка 77: |
* Пример работы как HTTP-сервера | |
Строка 68: | Строка 82: |
* [[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]] (поддерживает создание тегов!) |
|
Строка 69: | Строка 91: |
* Pip / EasyInstall * SetupTools * Virtualenv |
* [[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]] |
Строка 73: | Строка 95: |
== Finally == * MoinMoin * `import this` * `import antigravity` |
|
Строка 76: | Строка 103: |
* что-то | * Про модули [[pytut:modules.html|в учебнике]] * Про всё в [[pydoc:|в документации]] (хотя бы названия :) ), как минимум стоит посмотреть то, что было на занятии |
Строка 78: | Строка 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 и научиться им пользоваться
По возможности доделать домашние задания