Тайм-коды: Модули и пакеты, Библиотеки, ООП, Объекты и Классы 1:09 Модули и пакеты. Пользовательские библиотеки 1:58 проблема, которую решает модульное программирование - уменьшение сложности программы за счет декомпозиции самих имён функции. Структурирование пространства имён, функций, объектов (классов), переменных. Создается иерархическая структура проекта 9:43 иллюстрация 14:02 декомпозиция общего кода на модули (отдельные файлы). Должна быть некая логика, по какому-то принципу 16:56 направленность зависимостей. Не должно быть циклического взаимодействия модулей друг с другом 19:53 когда разбивать на модули 23:17 Пакет модулей package 26:53 механизмы структурирования программного кода 28:20 отличие фреймворка от библиотеки (пакета модулей) 30:37 импорт import 41:00 пакеты 43:22 код пример 44:14 комплексные числа complex 45:16 если появляются несколько объектов с одинаковыми именами, то просто работает последний (только один), т.к. в Питоне нет перегрузки функций 48:40 if __name__ == "__main__": # чтобы модуль запускался не автоматически main() 51:57 взаимозависимости модулей между собой, менеджеры пакетов. В Питоне - pip 54:58 модуль - это файлик с функциями, которые можно импортировать 55:19 переменная name библиотеки и главного (main) модуля 1:00:28 Объекты и классы. Объект - это переменная классового типа 1:03:37 именование класса по PEP8 1:04:42 класс - коробочка для упаковывания функций и переменных (объединение кода и данных) 1:12:14 абстрактный класс. Классовое свойство. Классовый атрибут. Экземплярный атрибут 1:15:17 у объектов одного типа могут быть разные атрибуты 1:16:10 конструктор класса def __init__(): 1:17:09 отличие классов от модулей 1:18:40 задача модульного программирования и ООП
На 58:49 небольшая ошибка, имя импортированного модуля влияет, просто Тимофей импортировал один модуль 2 раза с разными именами (lib и library), но дважды обратился к модулю lib. Таким образом функция вызвалась из модуля lib и имя было "lib". Если бы он написал library.print_name() тогда бы вывелось имя "library". Просто имейте это ввиду.
Никакой ошибки тут нет. Можно импортировать модуль хоть под десятью разными псевдонимами, но в результате будет создан всего один объект модуля, и все имена заданные при импорте будут ссылаться на один и тот же объект. А переменная __name__ данного объекта будет иметь имя файла модуля, никакие псевдонимы при импорте не него не влияют. Поэтому в примере в видео - создается один объект модуля lib, переменная __name__ получает значение 'lib', а на данный объект просто ссылаются два имени в том модуле, в который его импортировали, т.е. lib и library ссылаются на один и тот же объект в памяти, с одни и тем же значением переменной __name__, поэтому не важно, через какое имя вызвать функцию print_name, результат будет аналогичен.
Я правильно понимаю, что "2020 Практика программирования на Python" и "2017-2018 Алгоритмы и структуры данных на Python 3" это разные дисциплины и смотреть их надо именно в таком порядке? Первая дисциплина преподаётся в 1 семестре, а вторая во 2 и 3 семестрах да?
За чем мне это пока не знаю точно, ведь есть основная работа? Но оторваться не могу, конспект накатал приличный уже. Понял для себя одно - программирование не даёт мозгу зачерстветь. Спасибо.
Вопрос по поводу различия классов и модулей - если я импортирую один и тот же модуль под несколькими разными именами : import mymodule as m1, import mymodule as m2, и в этом модуле есть какие-то константы - то ведь по сути я в каком-то смысле сделал два экземпляра? Ну за исключением того, что не будет кастомного конструктора. Или есть ещё тонкости?
много чего написал, комп глюканул, лень переписывать(((( коротко.... я сам Учитель музыки... смотрю с удовольствием хотя и нафиг не надо ....казалось бы...НО приемы преподнесения информации... ну я стырил и не стыдно(хы-хы-хы), и тырю, и не стыдно )))) ваши вот эти функции в нотный стан перевожу и ноты.... заколебало....хотя иногда такая у-у-у-у-уня играет из под пальцев...прикольно...на баяне, с электронным приводом(гы-ы-ы-ы-ы) соседи привыкли и даже стучали в двери когда 4 дня тишины было
Тайм-коды: Модули и пакеты, Библиотеки, ООП, Объекты и Классы
1:09 Модули и пакеты. Пользовательские библиотеки
1:58 проблема, которую решает модульное программирование - уменьшение сложности программы за счет декомпозиции самих имён функции. Структурирование пространства имён, функций, объектов (классов), переменных. Создается иерархическая структура проекта
9:43 иллюстрация
14:02 декомпозиция общего кода на модули (отдельные файлы). Должна быть некая логика, по какому-то принципу
16:56 направленность зависимостей. Не должно быть циклического взаимодействия модулей друг с другом
19:53 когда разбивать на модули
23:17 Пакет модулей package
26:53 механизмы структурирования программного кода
28:20 отличие фреймворка от библиотеки (пакета модулей)
30:37 импорт import
41:00 пакеты
43:22 код пример
44:14 комплексные числа complex
45:16 если появляются несколько объектов с одинаковыми именами, то просто работает последний (только один), т.к. в Питоне нет перегрузки функций
48:40 if __name__ == "__main__": # чтобы модуль запускался не автоматически
main()
51:57 взаимозависимости модулей между собой, менеджеры пакетов. В Питоне - pip
54:58 модуль - это файлик с функциями, которые можно импортировать
55:19 переменная name библиотеки и главного (main) модуля
1:00:28 Объекты и классы. Объект - это переменная классового типа
1:03:37 именование класса по PEP8
1:04:42 класс - коробочка для упаковывания функций и переменных (объединение кода и данных)
1:12:14 абстрактный класс. Классовое свойство. Классовый атрибут. Экземплярный атрибут
1:15:17 у объектов одного типа могут быть разные атрибуты
1:16:10 конструктор класса def __init__():
1:17:09 отличие классов от модулей
1:18:40 задача модульного программирования и ООП
Какой же крутой человек. Тимофей, пусть в вашей жизни все вокруг будет таким же полезным, позитивным и крутым, как вы в этих обучающих курсах!
Вы прекрасный преподаватель!!
А я? 🤔😉
"Класс - это объединение кода и данных"
Это просто супер объяснение для начинающих, для понимания что это такое, вот серьезно. Спасибо
Читай "инкапсуляция", т.е. вполне нормальное определения.
Только под кодом имелось ввиду ф-ции т.е. методы. а под данными члены класса.
Очень признателен вам, Тимофей, за ваш труд и старания! 👍
Лайк, коммент для продвижения!
Спасибо! Тимофей за ваши лекции
Это когда долго долго учился и ничего не понял а потом пришёл Тимофей Фёдорович и на пальцах всё объяснил
Есть прогресс в программировании в целом за эти 9 месяцев? Интересно было бы узнать)
@@svitq368 оооооо! Ещё какой! print("Hello world " ) научился наконец то!
Желаю Вам побольше подписчиков за Ваш труд
Присоединяюсь
Прекрасный преподаватель. Спасибо, Тимофей Фёдорович!
Спасибо. Все четко и понятно
Спасибо! Интересные уроки 👍👍👍
Очень талантливый преподаватель
Никогда не понимал ООП,читал книги смотрел видосы и не помогло.Но с вами я понял всё стало на свои места
благодарю Вас за лекцию Тимофей
На 58:49 небольшая ошибка, имя импортированного модуля влияет, просто Тимофей импортировал один модуль 2 раза с разными именами (lib и library), но дважды обратился к модулю lib. Таким образом функция вызвалась из модуля lib и имя было "lib". Если бы он написал library.print_name() тогда бы вывелось имя "library".
Просто имейте это ввиду.
Нет, это вы что-то путаете. Не получается так, имя всегда выдает то, какое есть у модуля исходное
Никакой ошибки тут нет.
Можно импортировать модуль хоть под десятью разными псевдонимами, но в результате будет создан всего один объект модуля, и все имена заданные при импорте будут ссылаться на один и тот же объект. А переменная __name__ данного объекта будет иметь имя файла модуля, никакие псевдонимы при импорте не него не влияют.
Поэтому в примере в видео - создается один объект модуля lib, переменная __name__ получает значение 'lib', а на данный объект просто ссылаются два имени в том модуле, в который его импортировали, т.е. lib и library ссылаются на один и тот же объект в памяти, с одни и тем же значением переменной __name__, поэтому не важно, через какое имя вызвать функцию print_name, результат будет аналогичен.
Спасибо за доступ !
Наконец-то началось то что можно назвать интересным
Угарно на самом деле, как в любой серии видео по обучению первое видео набирает несколько миллионов, а в середине-конце уже до 100к
Молодец холодец) о_О
Лучший.
Прямо смотришь и понимаешь насколько все доспупно для понимания, постыми понятными выражениями.
1:19:54 - Понятно? Агааааа, как тут не понять))))
Я правильно понимаю, что "2020 Практика программирования на Python" и "2017-2018 Алгоритмы и структуры данных на Python 3" это разные дисциплины и смотреть их надо именно в таком порядке? Первая дисциплина преподаётся в 1 семестре, а вторая во 2 и 3 семестрах да?
получается, чтобы создать новый язык достаточно скопировать старый и поменять немного правила) буду удивлен если остальные функции будут похоже
Я бы сказал, что класс - это некий шаблон для создания объектов (экземпляров класса).
класс - это идеальный, но абстрактный пример для его экземпляров. нумеро уно, а детки - подобия с отличиями.
За чем мне это пока не знаю точно, ведь есть основная работа? Но оторваться не могу, конспект накатал приличный уже. Понял для себя одно - программирование не даёт мозгу зачерстветь. Спасибо.
как успехи
Вопрос по поводу различия классов и модулей - если я импортирую один и тот же модуль под несколькими разными именами : import mymodule as m1, import mymodule as m2, и в этом модуле есть какие-то константы - то ведь по сути я в каком-то смысле сделал два экземпляра? Ну за исключением того, что не будет кастомного конструктора. Или есть ещё тонкости?
👍
много чего написал, комп глюканул, лень переписывать(((( коротко.... я сам Учитель музыки... смотрю с удовольствием хотя и нафиг не надо ....казалось бы...НО приемы преподнесения информации... ну я стырил и не стыдно(хы-хы-хы), и тырю, и не стыдно )))) ваши вот эти функции в нотный стан перевожу и ноты.... заколебало....хотя иногда такая у-у-у-у-уня играет из под пальцев...прикольно...на баяне, с электронным приводом(гы-ы-ы-ы-ы) соседи привыкли и даже стучали в двери когда 4 дня тишины было
А мы "загрузки" назовем множеством папок и норм)
Если кому интересно, Goat Says 'Meh'. Теперь ты знаешь.
Здесь будет полмиллиона просмотров:
Когда-нибудь, через несколько лет.
здесь*
Рассмешил
сейчас 55 тыс держу в курсе
Вы для меня образец для подражания