Тёмный

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

Тимофей Хирьянов
Подписаться 352 тыс.
Просмотров 64 тыс.
50% 1

Практика: cs.mipt.ru/python
Telegram-группа: t.me/tkhirianov_python_2019
Программа курса: github.com/tkhirianov/lection...
Спонсировать: / tkhirianov или www.paypal.me/tkhirianov или 63900240 9020000598 (карта СБ).

Опубликовано:

 

26 окт 2019

Поделиться:

Ссылка:

Скачать:

Готовим ссылку...

Добавить в:

Мой плейлист
Посмотреть позже
Комментарии : 63   
@NeoSkywalker8081
@NeoSkywalker8081 4 года назад
Тайм-коды: Модули (Переработанная версия коммента ru-vid.com/video/%D0%B2%D0%B8%D0%B4%D0%B5%D0%BE-ppJfqW7fL80.html&lc=UgyWCUfFUNoEjzlWnVx4AaABAg) 0:00 Приветствие 3:00 Несколько слов о процессах в программировании, об организации этих процессов, о интерфейсах -> 4:19 Этапы проекта -> 5:19 О проработке интерфейса (взаимодействие частей проекта, структурных единиц) 6:39 Средства декомпозиции 9:19 Почему модули -> 19:30 Про import (кратко, подробнее 35:20) 23:05 Подкаталоги. Пакеты 24:47 Про зависимость/независимость модулей друг от друга -> 27:41 Интересная статья на Habr (habr.com/ru/post/157831/) : "Мы сделаем этот велосипед за месяц" -> 28:57 Про ключевые темы на meetup-ах -> 34:10 Про независимость на примере игры "Кликни шарик" 35:20 3 способа подключения модулей 38:14 Про импортирование модулей -> 41:27 Про то, как отличить просто импорт от самого вызова -->> 41:38 Используем встроенную переменную __name__ (в начале и в конце двойные нижние подчеркивания) -->> 44:59 Про if __name__ == "__main__" -> 45:59 Про разницу from и import 48:33 Про использование __name__ (например, для тестирования) 51:00 Про объекты, на примере с модулем -> 51:40 Добавление функций для взаимодействия с объектом в модуль 54:19 Про доступ к переменной Объекту -> 54:50 Из основного файла (опосредованно) Небольшое отступление: ==>> 55:30 Про полагание на интерпретатор и вывод ошибок ==>> 56:30 Про автодополнение и важность разделения на модули -> 58:20 Прямой доступ к объекту, из модуля, в основном файле 1:00:00 Про пространство имен. Правило LEGB (Local -> Enclosed (или unlocal) -> Global -> Built-In) -> 1:03:02 Про порядок поиска имен, на примере print(x) -> 1:04:50 Про порядок поиска имен, на примере функции -> 1:06:26 Про порядок определения функций в структуре кода 1:09:00 Про глобальные переменные для использовании в функциях
@Barmaley_YT
@Barmaley_YT 4 года назад
Я в восторге, такого изложения материала не встречал. Лектор которого как гуру надо слушать,впитывать каждое слово. Повезло ученикам данного вуза,что могут получить такой объем очень ценной информации. Тимофей Хирьянов, спасибо Вам за ваши труды.
@mihakgma
@mihakgma 4 года назад
Тимофей Федорович, Вы - лучший лектор, из всех которых мне посчастливилось слушать!
@user-dv9fk1hd3s
@user-dv9fk1hd3s 4 года назад
Обалдеть, такие лекции ещё кто-то прогуливает?!
@user-ju8fi1dc9w
@user-ju8fi1dc9w 3 года назад
Большая часть того что он говорит, более менее продвинутым понятно, я тоже прогуливаю))
@iritaka
@iritaka 4 года назад
Тайм-коды: Модули 4:19 этапы проекта: 1) декомпозиция, 2) сборка 5:19 для этого нужно проработать интерфейсы (взаимодействие частей проекта, структурных единиц) 6:39 средства декомпозиции: 1. функции, 2. модули (пакеты модулей), 3. объекты 9:19 почему модули 23:05 подкаталоги. Пакеты 24:47 зависимость модулей друг от друга 27:41 интересная статья на habr : "Мы сделаем этот велосипед за месяц" 28:57 ключевые темы на meetup-ах: 1) архитектура программы (декомпозиция на модули), 2) интерфейсы модулей, 3)ответственность модулей 35:20 3 способа подключения модулей: 1) import модуль 2) import модуль as сокращалочка_модуля 3) from модуль import или точтонадо через запятую или *(всё) # все пространство модуля подтягивается прямо сюда (возможен конфликт имен, например если несколько заимпорчено, содержащих одинаковые имена) 38:14 содержимое того модуля, который импортируется, выполняется 41:27 как отличить просто импорт от самого вызова 41:38 __name__ # в каждом модуле есть эта встроенная переменная (и она везде своя, разная) 41:46 _ _ имя _ _ служебные, встроенные, built-in переменные 44:59 if __name__ =="__main__": значит файл будет заимпорчен, а не запущен. Но, если его запустить не как модуль, то он таки кое-что сделает 45:59 импортируешь через from -> обращаешься к переменным по_имени импортируешь через import -> обращаешься к ним через имя_модуля.(точка)по_имени 48:33 либа может сама свой модуль потестить, независимо от main-модуля 50:45 объекты в модулях 54:19 доступ к переменной Объект между модулями: можно доступ через функции, а можно из главного модуля 58:28 if "что-нибудь" in string: 59:09 переменную можно изменить из другого модуля 1:00:00 Пространство имен. Правило LEGB (1)Local -2) Enclosed - 3)Global - 4)Built-In) 1:02:02 built-In встроенное Глобальное пространство 1:06:26 переменная должна быть определена не к моменту описания функции, а к моменту её вызова 1:09:00 global x # модификатор, делающий изнутри функции переменную глобальной
@vot_eto_Canada
@vot_eto_Canada 4 года назад
Тимофей Фёдорович, спасибо огромное за материалы и за их качество изложения!
@OmgFiny
@OmgFiny 4 года назад
Можно я буду ходить на ваши лекции вместо большинства лентяев))
@na-kun2136
@na-kun2136 4 года назад
Поступай в этот вуз
@user-jd1pf1tm3p
@user-jd1pf1tm3p 4 года назад
Это физтех, там лентяи на долго не задерживаются
@supervichka7764
@supervichka7764 4 года назад
@@user-jd1pf1tm3p 😁
@user-fp9yk1pm2k
@user-fp9yk1pm2k 4 года назад
Нельзя.
@VladArnoldner
@VladArnoldner 4 года назад
О таких уроках и преподавателе можно только мечтать. Спасибо
@zenovsergey
@zenovsergey 4 года назад
Опять не спать :)) Тимофей Фёдорович, доброй ночи!
@user-ji3gk9es7q
@user-ji3gk9es7q 4 года назад
Вы лучший лектор) спасибо Вам
@nikvrv
@nikvrv 4 года назад
Спасибо, Тимофей Фёдорович!
@QwertyQwerty-en3fb
@QwertyQwerty-en3fb 4 года назад
Наконец-то долгожданные лекций перед сном и в автобусе)ВАШИ ЛЕКЦИЙ ПОМОГАЮ РАЗВИВАТЬСЯ И СТАНОВИТСЯ ЛУЧШЕ
@page_not_found
@page_not_found 4 года назад
Лучший преподаватель!
@dutarSafin
@dutarSafin 4 года назад
Присоединяюсь к финальным аплодисментам)) Спасибо.
@user-pn6rv6vp5d
@user-pn6rv6vp5d 4 года назад
Печально ( нижние строчки не видно (((
@iknowrus
@iknowrus Год назад
Благодарю за лекции
@andrewskylone1052
@andrewskylone1052 4 года назад
Офигенный препод
@dharmanam9263
@dharmanam9263 4 года назад
Супер. СПАСИБО!
@vitalii_kalinichenko
@vitalii_kalinichenko 4 года назад
Смотрю количество просмотров и камментов под каждой лекцией цикла и вижу, что модели поведения студентов и ютуберов схожи. Что неудивительно, но интересно...
@_pheax
@_pheax 4 года назад
Спасибо
@aeees8
@aeees8 4 года назад
Спасибо автору. Если бы мне о tenzorflow или keras так же кто-то рассказал
@alexeygumenyuk8510
@alexeygumenyuk8510 4 года назад
Вы, конечно, во время))) Но, в любом случае, спасибо)))
@user-wb2rz4uu3l
@user-wb2rz4uu3l 4 года назад
Ура!
@user-mr2eg7ff9i
@user-mr2eg7ff9i 4 года назад
Велик, Тимофей и творенья его -Велики...
@alexandervalter
@alexandervalter 4 года назад
Ахуительный препод.
@freelife1000
@freelife1000 3 месяца назад
Спасибо, +- питон понял
@user-eu9xo4te9k
@user-eu9xo4te9k 3 года назад
"Когда я структурным программированием занимался при вас, показывал там"... )))
@Magnitikus
@Magnitikus 4 года назад
Подскажите import где ищет модули? В локальной папке или во вложенных тоже? И например если рядом две папки с разными проектами но файлы(модули) с одинаковыми именами какой подключиться? Разъяснит кто знает пожалуйста? Или сылку где это доступно разъяснено.
@stepan-klyukin
@stepan-klyukin 3 года назад
"Ну вы это отпразднуете торжественным ботом в общежитии..."
@romanticroman11
@romanticroman11 7 месяцев назад
В Ютюбе невозможно натыкать видео даже с подписками чтобы они стали удовлетворять требованиям обладателя аккаунта причём большинство неподходящего видео из низшего порядка , и получается что те кто управляет массами не заинтересованы в развитии и стремлению к идеалу .
@vitalmurashev1852
@vitalmurashev1852 4 года назад
from youtube import tkhirianov from russia import все_учебные_заведения_страны def main(): for x in tkhirianov.все_лекции(): мечта(x) def мечта(текущая_лекция): for x in все_учебные_заведения_страны(): x.append(текущая_лекция) if __name__ == "__main__": main()
@nobeing6242
@nobeing6242 4 года назад
Traceback (most recent call last): ImportError: detected GOVNOVUZ_RF, does not accept NotImplementedError: not real мечта TranslateError: englishe is not defined EnvironmentError: a lot of stupid people
@mikktarrasque1612
@mikktarrasque1612 4 года назад
@@nobeing6242 откуда TranslateError то? Если вы про названия, то можно и кириллицей писать(нельзя, но можно) :D
@stenlymarshal9000
@stenlymarshal9000 4 года назад
#include using namespace::all_Lect all_Lect allLEct_of_Khirianov; main() { setlocale(LC_ALL , "RUS"); unsigned int RES = allLEct_of_Khirianov.thisLect.NEW_L(student::good_STUD); int DEL = allLEct_of_Khirianov.thisLect.NEW_L(student::the_MostBAD_STUD); //------------------------------------ allLEct_of_Khirianov.nextSEMESTR(RES); allLEct_of_Khirianov.delete_BAD-STUD(DEL); //------------------------------------ return 0; };
@user-eh7hv1xz5j
@user-eh7hv1xz5j 2 года назад
Какой дистрибутив линукса стоит у Тимофея?
@AquaDiskoteque
@AquaDiskoteque 4 года назад
на обработчики js похожи ивенты тут.
@ingvardkas5374
@ingvardkas5374 4 года назад
а что за значок золотистый у Вас?
@dmitriynayanov6428
@dmitriynayanov6428 4 года назад
предположу, что значок выпускника МФТИ
@danxai
@danxai 4 года назад
я ваши лекции своему генеральному директору показал.
@user-yk2nw8en3p
@user-yk2nw8en3p 4 года назад
А какие горячие клавиши, чтоб сделать доску по ширине экрана моего монитора?
@wolfich4684
@wolfich4684 4 года назад
Тимофей, вопрос ни по лекции ... Зачем клавиатуру к ноутбуку подключили если на ноутбуке есть клавиатура? Задавался вопросом об эффективности работы на ноутбучной и обычной клавиатуре ..
@conag9864
@conag9864 4 года назад
Кому как удобнее
@Tubik123bubik
@Tubik123bubik 4 года назад
Он говорил, что печатает в слепую. Но невозможно печатать в слепую, если клавы меняются ПК-десктопная на ноутбууную.
@Lunathris
@Lunathris 4 года назад
Студент: "А вот как бы удалить последний элемент списка?" Тимофей Фёдорович: "Да всё просто! Надо его пОпнуть."
@user-sv6bw6tk4s
@user-sv6bw6tk4s 4 года назад
"Лекционная аудитория не пустя с парочкой ботанов" ,,😀😀😀
@TOFTOPOBZORXFACT
@TOFTOPOBZORXFACT 4 года назад
А зачем в 50:20 делать bar(2,2) == 4, если можно сделать bar(2,2) != 4 и не писать else. И мы говорим если bar() не равен должной сумме, то пусть вылезет ошибка, а иначе не произойдет ничего и программа продолжит работать.(не нужен положительный ответ)
@S1r3mAccount
@S1r3mAccount 3 года назад
Всё так. Но для понимания проще позитивные условия.
@ekaterinakuzmina4932
@ekaterinakuzmina4932 3 года назад
Тимофей, очень бы хотелось, чтобы не только Васи, Пети и Коли были примерами тех, кто что-то делает, но также Маши, Тани и Лены. В остальном - все превосходно.
@i.am.rossalex
@i.am.rossalex 4 года назад
Было бы очень неплохо, если бы этот курс лекций был в 20 минутном сжатом варианте для тех, кто вкуривает с первого быстрого раза :) Потому как эти лекции рассчитаны на массы и то, что можно объяснить за 20 сек, объясняется за 20-30 минут. Устал смотреть... И да, маэстро, "что-то серьезное" можно написать за 2 недели в одиночку! 15 лет практики дают такие возможности.
@demoshouse7909
@demoshouse7909 4 года назад
Смотрю лекции на скорости 2х, это уже 30-40 минут. Вполне комфортно смотрится.
@barkas2589
@barkas2589 2 года назад
Спасибо
Далее