Практика программирования на Python 3, лекция №3

preview_player
Показать описание

Рекомендации по теме
Комментарии
Автор

0:00 Вступительное слово, немного о режиме работы. 2:00 С чем будем знакомится на этой лекции.
3:00 Пробежимся по презентации автора библиотеки graph (надстройка над tkinter, если не правильно понял, сорри поправьте меня) Константина Юрьевича Полякова
презентации.
Про систему координат (3:45), про import (5:20), про цвета и толщину линий (6:10), примитивы (9:05)
11:44 Пример запуска исполняющегося кода из GitHub.
12:35 Возвращаемся к презентации.
13:35 Про задачу с отрисовкой одинаковых примитивов. 13:58 Про процедуры (функция без return, на языке C - void функция)
15:53 Пример процедуры. И отсылка к PEP8.
22:00 Циклы. 22:55 Про то, что не надо "играть в гольф".
25:30 Возвращаемся к презентации. Вложенный цикл.
26:30 Штриховка. 29:15 "А ты можешь нарисовать линию по пиксельно ровной, как в Paint" (не дословная цитата)?
30:48 Заливка. 32:30 История про цвета
34:40 Построение графиков функций. (Лирика 34:55 Про то, что есть matplotlib)
35:55 Про рисование графиков и встречающихся проблем.
37:25 Про анимацию и объекты. 41:05 Про run() и update()
41:25 Вопрос про отсутствующие скобки у update
44:58 События (event)

47:26 Некоторые детали про списки (list) и кортежи (tuple) тонкости с присваиванием.
50:00 Какие типы туда можно положить.
51:20 Списки изменяемые объекты. 53:10 Про доступ по ссылке. (Довольно важная вещь в python)
54:30 Если мы хотим копию объекта list. 58:00 в качестве основы(переменной) для "конструктора"(функции) list() может служить любой итерируемый объект.
1:02:00 Про неизменяемость кортежей
1:03:05 Про изменяемые объекты внутри неизменяемых.
1:06:30 Про массивы. (библиотека array, numpy, scipy)
1:08:00 Возвращаемся к понятию изменяемости. (про append())
1:09:20 Про ссылочную модель python.
1:13:10 Методы создания списков.
1:14:30 Про list comprehension (или по научному - списковое включение)

NeoSkywalker
Автор

Какие жизненные примеры про плавность перехода. Особенно в 22-ом году. Лекции шикарные. Преподаватель - один из немногих, кто способен донести знания до самого убежденного гуманитария, считаю. 👍

Bigfootnorm
Автор

Как бы мне хотелось видеть такой же уровень подачи в своем университете... От лекции невозможно оторваться! Спасибо вам за ваш труд!

ДаниилЕрошенко-нэ
Автор

Тайм-коды: Графика
2:05 библиотека graph Константина Юрьевича Полякова ( не библ. graphics). Обёртка над библиотекой tkinter
3:30 презентация. Графика
3:45 простые программы. Экранная система координат: начало координат (0, 0) - слева вверху
5:00 цвета. from graph import * # подключить все (*) функции модуля graph. Подключение библиотеки - оператор import
6:10 penColor("red") # цвет линии контуров графического примитива, penSize(2) # толщина линии, brushColor # заливка
7:18 RGB (red green blue). В HTML-нотации в формате RGB: penColor(255, 255, 0)
9:08 примитивы (Простейшие фигуры) point(x, y) # точка. 1 пиксель закрасить в x, y. line(x1, y1, x2, y2) # линия
moveTo(x1, y1) lineTo(x2, y2) lineTo(x3, y3) # ломаная
10:10 rectangle(10, 20, 50, 40) # прямоугольник circle(x1, y1, Radius) # круг
polygon([ (x1, y1), (x2, y2), (x3, y3), (x1, y1)]) # треугольник. 1 параметр - список [ ] кортежей( ). здесь 4 элемента-кортежа
11:44 переход в среду разработки. Пример запуска исполняющегося кода из GitHub
13:23 процедуры. Подпрограммы. Функции, кот. ничего не возвращают. Только делают несколько одинаковых вещей
20:46 run() чтобы прога не закрылась. Главный цикл для ожидания
22:00 циклы
22:59 не надо "играть в гольф"(code-golf) максимально минимизировать код
24:47 Y=40 # константа. Переменная, которую ненадо менять
25:31 вложенные циклы
26:32 штриховка
30:47 заливка. Серый: когда R=G=B
34:44 построение графиков функций (для этого есть нормальная библиотека matplotlib)
36:32 преобразование координат (scalability)
37:26 анимация (animation)
38:05 объекты (object) obj = rectangle(x, y, x+20, y+20)
40:00 движение. update() moveObjectBy(obj, 5, 0) xCoord(obj) close() onTimer(function, time-step)
41:20 если в коде имя функции без (), то это просто говорят, что это она. А не вызывают, чтобы запустился её код. Функция, как объект первого рода.
44:59 события (event) например выход по Escape. event.KeyCode==VK_ESCAPE. Коды клавиш (Esc=27) onKey()
48:52 конец презентации. Сайт: kpolyakov.spb.ru
49:25 Списки(list) и Кортежи(tuple).
А=[1, 2, '3', True, (30, 40), [50, 60] ] Список - изменяемый объект. Туда можно класть все, что угодно. Квадратные скобки
52:07 В=А # будет создан синоним А. Т.е. еще одно имя для одного и того же. Так скопировать список нельзя.
53:03 индексы. В[0] = 10. Доступ по ссылке в Питоне. Ссылочная модель данных
54:31 чтобы скопировать список. B=list(A) # слово list() - это Конструктор объекта. Функция
54:52 x=int('AB', base=16) # сконструируй мне число, по основанию 16
55:33 системы счисления x=int() # х = 0
58:41 B=list('Hello') # ['H', 'e', 'l', 'l', 'o'] список символов строки. В list() можно передать любой итерируемый объект
1:00:23 B=A.copy() # А, скопируй сам себя. Другой способ скопировать список
1:01:43 А=(1, 2, 3) # tuple. Кортеж - неизменяемый тип. Круглый скобки
1:03:34 если в кортеж запихнуть список, то через индекс списка можно менять элемент кортежа
1:06:24 массивы в питоне в отдельной библиотеке import array (список однотипных элементов стандартного размера)
1:07:15 библиотеки numpy, scipy
1:08:12 A.append(4) # дописать в конец A.append(A)
1:12:42 A =list(range(1, 101, 1)) Чтобы сделать В на основе списка А:
1:14:34 list comprehension (Списковое включение) генератор списка B=[ x*2 for x in A if x%7==0] (можно в круглых скобках)
1:16:57 A.insert(куда, что)
1:17:17 help('list')

iritaka
Автор

Не через год, а через полгода - закон мнемотехники! Спасибо за лекции. Мне 41 год, с удовольствием из слушаю и даже конспектирую.

babay
Автор

Стал смотреть с первой лекции. Всё было понятно до этой )) Реально ощущение, что прогулял одну лекцию до этой ))
Пока использую notepad++ для конспектирования материала. Записываю на ходу код и комментирую его как можно подробнее, чтобы потом можно было прочитать и закрепить знания.
У меня очень скудный запас знаний в программировании. Это несколько школьных уроков по бейсику ещё в 90х )) где максимум, что давали - это рисование линий и кружочков командами line и circle.
Аллилуя, спасибо этому мудрому лектору!!! В ходе просмотра лекции, до меня наконец дошло озарение, чем отличаются конструкции for x и for i ))) Первая говорит о том, что нужно выполнять действия для каждого значения X в списке, а вторая, сколько повторов нужно сделать (счётчик) и к действия с конкретным значениям списка на прямую отношения не имеет ))
ОООО какая же до этого у меня была сумятица в голове. Полную околесицу нёс ))

WindlePoons_ru
Автор

Спасибо за лекции, для меня, человека который только начинает изучать python 3, все доступно и понятно.

MsBorisKV
Автор

Добавьте к описанию каждого видео практики или лабораторные которые вы проходите со студентами, тоже хотелось бы попрактиковаться)
Заранее спасибо

filinalex
Автор

Изумительные лекции, смотрю и рассуждаю до конца. Вспоминаю профессора по высшей математике Зигель, когда бегом бежали занимать места на его лекции, чтобы видеть и слышать его. ВОТ ЧЕМ славились МАИ! Помню его дополнительные бесплатные лекции, для любителей астрономии, когда Зигель доказал математические, что скорость вращения земли вокруг своей оси увеличивается и существует связь с магнитным полем земли и силой притяжения. Слушали с открытым ртом, гениально!

veraivanova
Автор

Тимофей, огромное мерси за работу. С большим удовольствием работаю с вашим курсом и плачу: какого чёрта я потерял столько времени и выучился непойми на кого, вместо того чтобы в своё время пойти на подобное направление. Какой-же я был м....к ...

ilyanicgusev
Автор

Большое спасибо за огромный и бескорыстный труд!

frost
Автор

Тимофей, огромная просьба к вам: озвучивайте вопросы, которые вам задают из аудитории, а то их почти не слышно на записи.

rmatveev
Автор

Мой самый самый любимый препод на просторах ютуба

brlmbrlm
Автор

1:15:45 Вот так объяснил - я всё понял с первого раза! :О (Читал про генератор списка читал в книге, но не понял. А тут всё ясно.)

АнонАнонов-ыо
Автор

Очень интересно, вы даете основы для понимания, хоть я эти тему уже изучал

Daloshka
Автор

Поднимите лайком, пожалуйста. Возможно, это будет полезно кому-то ещё, изучающему Python.

(таймкоды, собраны из комментариев Iritaka 160)

SlavaArgentina
Автор

Такое чувство что между 2 и 3 лекцией пропустил ещё несколько лекций.

СергейПресняков-ор
Автор

Преподаватель мастер своего дела, лайк однозначно!

CaptainMountain
Автор

Спасибо за Вашу работу! Замечательный курс!

ПавелГуляев-йь
Автор

34:20 Тимофей, Хирьянов, просто красавчик, вы реально сказали правду,

WOLFRAM_EDITS