Язык программирования Python

<< <  2019 / 10 >  >>
Mon Tue Wed Thu Fri Sat Sun
  1 2 3 4 5 6
7 8 9 10 11 12 13
14 15 16 17 18 19 20
21 22 23 24 25 26 27
28 29 30 31      

Актуальный план

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

Видеолекции: 1, 2

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

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

  • Цепочки сравнений вида A < B < C

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

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

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

    • блеск и нищета конструкции вида a = b and c or d
  • Тернарная операция выражение-1 if условие else выражение-2

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

Конструкции типа 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 на примере задачи поиска.

Д/З

  • Настроить какой-нибудь IDE (например, Geany), добиться работоспособности

  • Прочитать и прощёлкать

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


CategoryClass

Тематический план (очень грубый):
  1. Основные языковые конструкции и структуры данных
  2. Составные структуры данных и их использование
  3. Работа со строковыми данными, ввод-вывод
  4. Объектная модель Python
  5. Разработка модулей, стандартные модули, PyPi