Тема 3. Программирование на Python (Python Basics)¶
Тема покрывает основы языка Python: синтаксис, типы данных, управляющие конструкции, коллекции, представление данных в памяти. Параллельно — те же темы в Go: видны различия в типизации, работе со строками, перебором коллекций.
Лекции¶
- Лекция 1. Синтаксис, переменные и типы данных — лексика, отступы, идентификаторы, ключевые слова; простые типы (
int,float,complex,str,bool,None); операторы (арифметические, сравнения, логические, битовые,is,in); приоритет; в Go — статическая типизация, фиксированные размеры целых, отсутствие неявных преобразований. - Лекция 2. Управляющие конструкции и ввод-вывод —
if/elif/else, тернарный оператор,match; циклыwhileиfor+range;break/continue/elseу цикла;input()/print(); в Go —ifс инициализацией,switch,forкак единственный цикл,fmt.Scan/fmt.Print. - Лекция 3. Коллекции: списки, кортежи, словари, множества —
listи генераторы списков,tupleи распаковка,dictиdefaultdict/Counter,set/frozensetи математические операции; в Go — slices, maps, structs,map[T]struct{}как идиома set. - Лекция 4. Машинное представление: числа, кодировки, байты — системы счисления, дополнительный код, IEEE 754; кодировки (ASCII, Windows-1251, Unicode, UTF-8/16);
bytes,bytearray,memoryviewв Python;string,[]byte,runeв Go.
Лабораторные работы¶
- Реализовать программу линейной и разветвляющейся структуры; выводить числа в разных системах счисления.
- Реализовать программу циклической структуры — например, печать таблицы умножения; обработка одномерных и двумерных массивов (
list[list[int]]/[][]int). - Работа со строками и множествами: подсчёт уникальных слов в тексте; разбор строки на токены; конвертация между кодировками.
- Решить задачу с накоплением точных сумм (использовать
decimal.Decimalв Python /shopspring/decimalв Go) и продемонстрировать разницу сfloat.