Различия между версиями 1 и 14 (по 13 версиям)
Версия 1 от 2015-03-10 14:46:15
Размер: 873
Редактор: localhost
Комментарий:
Версия 14 от 2015-03-18 09:38:59
Размер: 4533
Редактор: Class1
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 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`)

/!\ '''TODO''' пример пакета
Строка 13: Строка 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: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]]
 
== Прикладные модули ==
 * `SimpleHttpServer` с примером
 * /!\ всякое

=== 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?]]
/!\ '''TODO''' показ некоторых
=== Деплоймент ===
 * [[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]]

Модули: создание, использование стандартных и подключение внешних; вопросы разработки: 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: Слабые ссылки

Разное

Прикладные модули

  • SimpleHttpServer с примером

  • /!\ всякое

GUI

SQL

Разработка

IDE

What IDE to use for Python? /!\ TODO показ некоторых

Деплоймент

Д/З

Прочитать

  • что-то

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


CategoryClass

Lectures/PythonIntro/2015-03-18 (последним исправлял пользователь Class1 2015-03-19 10:51:42)