233
Комментарий:
|
4005
|
Удаления помечены так. | Добавления помечены так. |
Строка 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
- Любые функции (методы) применимы к любым объектам
- Если в процессе выполнения происходит обращение к несуществующему объекту (полю), активизируется исключение
- Проверка существования объекта (поля) происходит в момент обращения к енму
(дополнительно) Все операции над объектами (типа +, [ , () и т. п.) — спецметоды объектов
Логические выражения
Сравнение, в т. ч. сравнение любого объекта с любым, операция 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 на примере задачи поиска.
Д/З
- Прочитать
- Задачи