Различия между версиями 8 и 9
Версия 8 от 2020-09-23 15:40:13
Размер: 4778
Редактор: FrBrGeorge
Комментарий:
Версия 9 от 2021-09-13 17:44:28
Размер: 4780
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 59: Строка 59:
 1. [[http://ejudge.cs.msu.ru/register?action=207&contest_id=148|Зарегистрироваться в EJudge (148 турнир)]]  1. [[http://ejudge.cs.msu.ru/register?action=207&contest_id=164|Зарегистрироваться в EJudge (164 турнир)]]
Строка 62: Строка 62:
  * [[http://ejudge.cs.msu.ru/new-client?contest_id=148|Ссылка для уже зарегистрированных]]
 1. <<EJCMC(148, HelloWorld, Hello World)>>
  * [[http://ejudge.cs.msu.ru/new-client?contest_id=164|Ссылка для уже зарегистрированных]]
## 1. <<EJCMC(148, HelloWorld, Hello World)>>

Командная строка и объекты

Интерпретатор командной строки

  • Командная строка как общий принцип интерфейса
    • Диалог «команда — ответ…»
      • Точнее: ввод → синтаксический анализ → интерпретация → вывод → …
      • Совмещение потока данных и потока управления
    • Редактор: подсказка, история, достраивание, поиск по истории
  • Python3:
    • консольный (классика)
      • Настройка, файл (~/.pythonstartup )

    • idle / pycrust / встроенные в IDE
    • bpython / ipython / …
  • Синтаксические ошибки / ошибки времени выполнения

Редакторы

  • Любые программистские, например, vim >:>

  • IDLE
  • Иные мелкие IDE (Geany, Spyder, тысячи их)
  • Толстые прорприетарные: WingIDE, PyCharm и т. п.

Объекты и выражения с ними

  • Целые, вещественные и комплексные числа
    • длинные целые
    • проблема представления вещественных
      • забегая вперёд: fractions.Decimal: и fractions.Fraction

  • Все операции и их старшинство

    • в частности, операции сравнения и многоместные операции сравнения,
      • False is False is False (шhат?)

  • Строки
  • Кортежи
    • Идентификатор объекта (id())

    • операции in и is (когда == не равно is)

  • Типы, type(), преобразование типов

    • Типы — это объекты
  • Функции
    • Функция в Python — это именованная запись алгоритма (подпрограмма)

    • Функции — это тоже просто объекты

Связывание объектов

  • Создание и удаление объектов при интерпретации команд
    • Все перечисленные объекты — константные

  • Связывание объектов именами, чтобы не удалились
    • dir() и globals()

      • (забегая) dir(объект)

    • Счётчик ссылок, sys.getrefcount(), правило удаления

    • del имя удаление имени, а не объекта

  • Множественное связывание (многоместное и распаковкой последовательности)
    • Функция, которая «возвращает много значений»
  • Модифицируемые объекты — списки, словари, множества (беглый обзор)
  • Связывание объектов ссылками из кортежей (и других составных типов)
    • (забегая вперёд) Отличие связывания от присваивания на примере списков
  • Неявная динамическая строгая типизация: типизация объектов, но не имён

Д/З

  1. Прочитать и отщёлкать appetite.html, interpreter.html и introduction.html

  2. Добыть на рабочем компьютере
    • Python (третий, разумется)

    • Редактор, в котором можно писать программы (idle есть почти всегда, например, в дистрибутивах ALT Linux он лежит в пакете python3-tools и называется idle3)

    • Написать и запустить программу из файла, в котором написано:
         1 print("QQ")
      
  3. Зарегистрироваться в EJudge (164 турнир)

LecturesCMC/PythonIntro2020/01_Commandline (последним исправлял пользователь FrBrGeorge 2021-09-13 17:44:28)