Различия между версиями 9 и 10
Версия 9 от 2018-08-07 06:54:12
Размер: 5701
Редактор: FrBrGeorge
Комментарий:
Версия 10 от 2018-08-07 08:59:07
Размер: 7189
Редактор: FrBrGeorge
Комментарий:
Удаления помечены так. Добавления помечены так.
Строка 17: Строка 17:
Строка 19: Строка 18:
  * Найти/сделать видео   * /!\ Найти/сделать видео
Строка 22: Строка 21:
  * «калькулятор» — числа, арифметические операции, длинные целые, `1.1+2.2`
  * строки и простейшие операции над ними
  * понятие командной строки, простейшее редактирование командной строки, почему не страшно вводить что угодно (наверное всё-таки на примере IDLE)
   * /!\ ещё есть [[https://thonny.org/|Thonny Python IDE for beginners]]
  * Понятие командной строки (команда → интерпретация → выполнение → диагностика →)
  * Командная строка `idle3`,
  * «Калькулятор» — числа, арифметические операции, длинные целые, `1.1+2.2`
  * Строки и простейшие операции над ними
  * Типы объектов (пока знаем целые, вещественные, строки и функции), функция `type()`
  * Использование функций (`abs()`, `max()`, `round()`, `bin()`, `hex()` …)
Строка 29: Строка 30:
  * связывание результатов именем и обращение к ним по имени
  * dir(), допсутимые имена
  * на самом деле: создание объектов при вычислении выражения, связывание объектов
  * последовательные вычисления в командной строке с именованием промежуточных результатов
  * Связывание результатов именем и обращение к ним по имени
  * Допустимые имена
  * Представление о пространстве имён, `dir()`
  * Создание объектов при вычислении выражения
  * Последовательные вычисления в командной строке с именованием промежуточных результатов
Строка 34: Строка 36:
  * Работа в текстовом редакторе (IDLE)
  * Обработка файла интерпретатором; отличие от работы в командной строке, функция `print()`
  * Запуск программы из IDLE
  * Понятие текстового редактора
* Работа в текстовом редакторе `idle3`, запуск программы
  * Отличие от работы в командной строке, функция `print()`
Строка 38: Строка 40:
  * Модуль `math` и математические функции
  * Обработка файла интерпретатором
Строка 44: Строка 48:
  * Примеры на http://pythontutor.com   * «Утиная типизация»: все объекты строго типизированы, но по имени этого не скажешь
   * ⇒ функция выполнится, если все операции в ней применимы к переданным объектам
Строка 51: Строка 56:
  * Цикл while
  * вложенный while
  * бесконечный цикл
  * условные операторы в цикле
  * break и continue
  * каноническая схема цикла
 1. Списки
  * Понятие последовательности
  * операция in
  * операции сравнения
  * Цикл `while`
  * Вложенный `while`
  * Бесконечный цикл
  * Условные операторы в цикле
  * Операторы break и continue, когда нужны
 1. Составление алгоритмов на условные операторы в цикле и вложенные циклы
  * Каноническая схема цикла (инициализация, проверка условия, тело, изменение)
  * …
 1. Методы объектов
  * Метод как функция:
   * Уже существующая для данного объекта
   * Заведомо применимая к данному объекту
   * Имеющая доступ к внутренностям объекта
  * Инкапсуляция
  * ''Примеры'' числовых и строковых методов (не все!)
  * `dir(объект)`
 1. Кортежи
  * Понятие индексируемой последовательности
  * Операции над последовательностями
Строка 63: Строка 77:
  * ???   * операция `in`
  * операции сравнения
 1. Списки
  * Понятие модифицируемой последовательности
  * '''TODO'''
Строка 79: Строка 97:
  * Примеры на http://pythontutor.com

Проект спецкурса по Python3 для факультета Психологии МГУ

Цель: выявление и подготовка студентов для научно-исследовательской работы.

Задачи первого семестра:

  • Обучение основам программирования и составления алгоритмов
  • Обучение основам ЯП Python3
  • Закладка базы для решения прикладных задач

Методика:

  • Первая половина курса — азы программирования и сильно урезанное подмножество Python
  • Вторая половина курса — повторение с объяснениями и дополнениями
  • Ссылаться на лекциях на документацию, давать её в Д/З
  • Изрядное число простых упражнений по каждой теме
  • Некоторое количество домашних заданий (возможно, в конце)


  1. Установка Python3 на рабочий компьютер
    • /!\ Найти/сделать видео

    • Устроить install fest для всех, кто не справился
  2. Понятие управляемого вычислителя
    • Понятие командной строки (команда → интерпретация → выполнение → диагностика →)
    • Командная строка idle3,

    • «Калькулятор» — числа, арифметические операции, длинные целые, 1.1+2.2

    • Строки и простейшие операции над ними
    • Типы объектов (пока знаем целые, вещественные, строки и функции), функция type()

    • Использование функций (abs(), max(), round(), bin(), hex() …)

    • Тип bool, операции сравнения

    • последовательные вычисления в командной строке с ручным копированием промежуточных результатов
  3. Именование
    • Связывание результатов именем и обращение к ним по имени
    • Допустимые имена
    • Представление о пространстве имён, dir()

    • Создание объектов при вычислении выражения
    • Последовательные вычисления в командной строке с именованием промежуточных результатов
  4. Редактирование и запуск сценариев (программ)
    • Понятие текстового редактора
    • Работа в текстовом редакторе idle3, запуск программы

    • Отличие от работы в командной строке, функция print()

    • Магический оператор ввода int(input())

    • Модуль math и математические функции

    • Обработка файла интерпретатором
  5. Повторное использование кода
    • Функция Python3 как именованный алгоритм
    • Задание и вызов функции, блок-со-сдвигом
    • Параметры функции
    • Возвращаемое значение функции
    • Суперпозиция функций
    • «Утиная типизация»: все объекты строго типизированы, но по имени этого не скажешь
      • ⇒ функция выполнится, если все операции в ней применимы к переданным объектам
  6. Условные операторы
    • Выполнение или невыполнение команд в зависимости от свойств данных
    • Простейший условный оператор
    • Полный вид if / elif / ... / else

    • Вложенные if

  7. Циклическое выполнение команд в зависимости от свойств данных
    • Цикл while

    • Вложенный while

    • Бесконечный цикл
    • Условные операторы в цикле
    • Операторы break и continue, когда нужны
  8. Составление алгоритмов на условные операторы в цикле и вложенные циклы
    • Каноническая схема цикла (инициализация, проверка условия, тело, изменение)
  9. Методы объектов
    • Метод как функция:
      • Уже существующая для данного объекта
      • Заведомо применимая к данному объекту
      • Имеющая доступ к внутренностям объекта
    • Инкапсуляция
    • Примеры числовых и строковых методов (не все!)

    • dir(объект)

  10. Кортежи
    • Понятие индексируемой последовательности
    • Операции над последовательностями
    • Индексирование
    • Секционирование
    • операция in

    • операции сравнения
  11. Списки
    • Понятие модифицируемой последовательности
    • TODO

  12. Строки
    • Задание, операции над
    • Особенности индексирования и in
    • форматирование (в первую очередь f"", но и .format(); не всё)

  13. Цикл for
    • Проход последовательности циклом
    • использование range()
  14. Начало второй части

TODO

  • Понятие пустого объекта
  • Алгебра логики
    • вложенные if или and?

  • else к циклам

  • Примеры на http://pythontutor.com

  • Локальные и глобальные имена, правила видимости ( /!\ на потом )

  • ??? функции-генераторы (с yield и next(генератор)), это просто!

    • примерно так:
         1 >>> def gen():
         2 ...   yield 10
         3 ...   yield 20
         4 ...   print("QQ")
         5 ...   yield 30
         6 ... 
         7 >>> gen
         8 <function gen at 0x7fca87231488>
         9 >>> generator = gen()
        10 >>> generator
        11 <generator object gen at 0x7fca8722cd00>
        12 >>> next(generator)
        13 10
        14 >>> next(generator)
        15 20
        16 >>> next(generator)
        17 QQ
        18 30
        19 >>> next(generator)
        20 Traceback (most recent call last):
        21 File "<stdin>", line 1, in <module>
        22 StopIteration
      

Python/PsyPython2018 (последним исправлял пользователь FrBrGeorge 2018-12-11 13:24:29)