Различия между версиями 3 и 4
Версия 3 от 2021-09-13 19:35:34
Размер: 4782
Редактор: FrBrGeorge
Комментарий:
Версия 4 от 2021-09-13 19:44:32
Размер: 4791
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 26: Строка 26:
  * в частности, операции сравнения и многоместные операции сравнения,   * '''TODO''' в частности, операции сравнения и многоместные операции сравнения,
Строка 64: Строка 64:
## 1. <<EJCMC(164, HelloWorld, Hello World)>>  1. <<EJCMC(164, HelloWorld, Hello World)>>

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

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

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

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

Редакторы

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

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

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

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

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

    • TODO в частности, операции сравнения и многоместные операции сравнения,

      • 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 турнир)

  4. EJudge: HelloWorld 'Hello World'

    Написать программу, которая выводит строку Hello, world (в точности)

    Input:

    (ввод не нужен)
    Output:

    Hello, world

LecturesCMC/PythonIntro2021/01_Commandline (последним исправлял пользователь FrBrGeorge 2021-09-22 15:01:40)