Различия между версиями 3 и 4
Версия 3 от 2015-03-01 22:49:34
Размер: 233
Редактор: localhost
Комментарий:
Версия 4 от 2015-03-02 00:07:56
Размер: 4005
Редактор: localhost
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 3: Строка 3:
== История Python. Командная строка ==
 * [[RW:Россум,_Гвидо_ван]]
 * Влияние ЯП 80-х годов на концепцию Python (ABC, Modula, ...)
 * Мощность сообщества и кодовой базы, стандартный модули и [[https://pypi.python.org/pypi|Python Package Index]]
 * Свободное лицензирование
=== Работа в командной строке ===
 * Командная строка - калькулятор
 * Подсистема помощи
  * Просто `help()`
  * Команда `help(объект)` и что она делает
  * Интерактивная HTML-документация
 * Объекты Python
  * Создание объектов при интерпретации команд
  * Имена объектов и счётчик ссылок (`sys.getrefcount`)
  * Операция `=` как операция именования `a == b` vs. `a is b`
   * Изменение объекта по любому из имён
  * Области видимости, функция `dir()` и `dir(объект)`
 * Различные удобства ЯП, возникающие уже в командной строке
 * «Продвинутые» командные надстройки:
  * [[http://bpython-interpreter.org|BPython]]
  * [[http://ipython.org/|IPython]]
  * [[http://pythontutor.com/|Online Python Tutor]], [[http://www.skulpt.org/|Skulpt]], …
Строка 4: Строка 26:
=== Настройка командной строки ===
 * История, поиск по истории (^R)
 * Достраивание имён
 * Файлы:
  * `.bashrc`:
  {{{
. . .
export PYTHONSTARTUP=$HOME/.pythonstartup
. . .
  }}}
== Логические операции, операторы ветвления и цикла ==
Неявная динамическая типизация в Python
 1. Любые функции (методы) применимы к любым объектам
  * Если в процессе выполнения происходит обращение к несуществующему объекту (полю), активизируется исключение
 1. Проверка существования объекта (поля) происходит в момент обращения к енму
 1. (''дополнительно'') Все операции над объектами (типа `+`, `[` , `()` и т. п.) — спецметоды объектов

=== Логические выражения ===
 * Сравнение, в т. ч. сравнение любого объекта с любым, операция `is`
 * Тип `bool` и операции `and`, `or` и `not`, условные вычисления
 * Понятие о нулевом элементе (класса) и методе `__nonzero__`
 * Операции `and` и `or` для произвольных объектов
  * блеск и нищета конструкции вида a = b and c or d
=== Множественное присваивание ===
Конструкции типа `a,b,c=d,e,f=1,2,""`. Атомарность множественного присваивания и `a,b=b,a`
=== Условный оператор и операторы цикла ===
 * Понятие «блок с отступом» (indented block)
 * Оператор `if`/`elif`/`else`, неструктурная сущность `elif`
 * Оператор `while`/`break`/`continue`. Клауза `else`.
 * Оператор `for` по итерируемому объекту (`__iter__`). Клауза `else` на примере задачи поиска.

Командный интерпретатор; простые типы данных; управление ходом выполнения

/!\ TODO

История Python. Командная строка

  • Россум,_Гвидо_ван

  • Влияние ЯП 80-х годов на концепцию Python (ABC, Modula, ...)
  • Мощность сообщества и кодовой базы, стандартный модули и Python Package Index

  • Свободное лицензирование

Работа в командной строке

  • Командная строка - калькулятор
  • Подсистема помощи
    • Просто help()

    • Команда help(объект) и что она делает

    • Интерактивная HTML-документация
  • Объекты Python
    • Создание объектов при интерпретации команд
    • Имена объектов и счётчик ссылок (sys.getrefcount)

    • Операция = как операция именования a == b vs. a is b

      • Изменение объекта по любому из имён
    • Области видимости, функция dir() и dir(объект)

  • Различные удобства ЯП, возникающие уже в командной строке
  • «Продвинутые» командные надстройки:

Настройка командной строки

  • История, поиск по истории (^R)
  • Достраивание имён
  • Файлы:
    • .bashrc:

      . . .
      export PYTHONSTARTUP=$HOME/.pythonstartup
      . . .

Логические операции, операторы ветвления и цикла

Неявная динамическая типизация в Python

  1. Любые функции (методы) применимы к любым объектам
    • Если в процессе выполнения происходит обращение к несуществующему объекту (полю), активизируется исключение
  2. Проверка существования объекта (поля) происходит в момент обращения к енму
  3. (дополнительно) Все операции над объектами (типа +, [ , () и т. п.) — спецметоды объектов

Логические выражения

  • Сравнение, в т. ч. сравнение любого объекта с любым, операция is

  • Тип bool и операции and, or и not, условные вычисления

  • Понятие о нулевом элементе (класса) и методе __nonzero__

  • Операции and и or для произвольных объектов

    • блеск и нищета конструкции вида a = b and c or d

Множественное присваивание

Конструкции типа a,b,c=d,e,f=1,2,"". Атомарность множественного присваивания и a,b=b,a

Условный оператор и операторы цикла

  • Понятие «блок с отступом» (indented block)
  • Оператор if/elif/else, неструктурная сущность elif

  • Оператор while/break/continue. Клауза else.

  • Оператор for по итерируемому объекту (__iter__). Клауза else на примере задачи поиска.

Д/З

  • Прочитать
  • Задачи


CategoryClass

Lectures/PythonIntro/2015-03-02 (последним исправлял пользователь Class1 2015-03-17 14:55:03)