4809
Комментарий:
|
← Версия 21 от 2015-03-19 10:51:42 ⇥
5610
|
Удаления помечены так. | Добавления помечены так. |
Строка 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, …
Надстройки над стандартными структурами данных
Бесконечные (.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 и научиться им пользоваться
По возможности доделать домашние задания