5701
Комментарий:
|
7189
|
Удаления помечены так. | Добавления помечены так. |
Строка 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
- Вторая половина курса — повторение с объяснениями и дополнениями
- Ссылаться на лекциях на документацию, давать её в Д/З
- Изрядное число простых упражнений по каждой теме
- Некоторое количество домашних заданий (возможно, в конце)
- Установка Python3 на рабочий компьютер
Найти/сделать видео
- Устроить install fest для всех, кто не справился
- Понятие управляемого вычислителя
- Понятие командной строки (команда → интерпретация → выполнение → диагностика →)
Командная строка idle3,
«Калькулятор» — числа, арифметические операции, длинные целые, 1.1+2.2
- Строки и простейшие операции над ними
Типы объектов (пока знаем целые, вещественные, строки и функции), функция type()
Использование функций (abs(), max(), round(), bin(), hex() …)
Тип bool, операции сравнения
- последовательные вычисления в командной строке с ручным копированием промежуточных результатов
- Именование
- Связывание результатов именем и обращение к ним по имени
- Допустимые имена
Представление о пространстве имён, dir()
- Создание объектов при вычислении выражения
- Последовательные вычисления в командной строке с именованием промежуточных результатов
- Редактирование и запуск сценариев (программ)
- Понятие текстового редактора
Работа в текстовом редакторе idle3, запуск программы
Отличие от работы в командной строке, функция print()
Магический оператор ввода int(input())
Модуль math и математические функции
- Обработка файла интерпретатором
- Повторное использование кода
- Функция Python3 как именованный алгоритм
- Задание и вызов функции, блок-со-сдвигом
- Параметры функции
- Возвращаемое значение функции
- Суперпозиция функций
- «Утиная типизация»: все объекты строго типизированы, но по имени этого не скажешь
- ⇒ функция выполнится, если все операции в ней применимы к переданным объектам
- Условные операторы
- Выполнение или невыполнение команд в зависимости от свойств данных
- Простейший условный оператор
Полный вид if / elif / ... / else
Вложенные if
- Циклическое выполнение команд в зависимости от свойств данных
Цикл while
Вложенный while
- Бесконечный цикл
- Условные операторы в цикле
- Операторы break и continue, когда нужны
- Составление алгоритмов на условные операторы в цикле и вложенные циклы
- Каноническая схема цикла (инициализация, проверка условия, тело, изменение)
- …
- Методы объектов
- Метод как функция:
- Уже существующая для данного объекта
- Заведомо применимая к данному объекту
- Имеющая доступ к внутренностям объекта
- Инкапсуляция
Примеры числовых и строковых методов (не все!)
dir(объект)
- Метод как функция:
- Кортежи
- Понятие индексируемой последовательности
- Операции над последовательностями
- Индексирование
- Секционирование
операция in
- операции сравнения
- Списки
- Понятие модифицируемой последовательности
TODO
- Строки
- Задание, операции над
- Особенности индексирования и in
форматирование (в первую очередь f"", но и .format(); не всё)
- Цикл for
- Проход последовательности циклом
- использование range()
Начало второй части
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
- примерно так: