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

แชร์
ฝัง
  • เผยแพร่เมื่อ 13 ต.ค. 2020
  • Практика: cs.mipt.ru/python

ความคิดเห็น • 46

  • @iritaka
    @iritaka 3 ปีที่แล้ว +81

    Тайм-коды: Модули и пакеты, Библиотеки, ООП, Объекты и Классы
    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 задача модульного программирования и ООП

  • @TheBestSurvival
    @TheBestSurvival 3 ปีที่แล้ว +15

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

  • @user-fs8tf4ht4j
    @user-fs8tf4ht4j 3 ปีที่แล้ว +46

    Вы прекрасный преподаватель!!

    • @Aspirin2007
      @Aspirin2007 3 ปีที่แล้ว +2

      А я? 🤔😉

  • @Leju_Perju
    @Leju_Perju 3 ปีที่แล้ว +14

    "Класс - это объединение кода и данных"
    Это просто супер объяснение для начинающих, для понимания что это такое, вот серьезно. Спасибо

    • @avazart614
      @avazart614 3 ปีที่แล้ว +2

      Читай "инкапсуляция", т.е. вполне нормальное определения.
      Только под кодом имелось ввиду ф-ции т.е. методы. а под данными члены класса.

  • @user-jl8wm8rq4e
    @user-jl8wm8rq4e 2 ปีที่แล้ว +2

    Очень признателен вам, Тимофей, за ваш труд и старания! 👍

  • @user-sw5vg3qo3h
    @user-sw5vg3qo3h 3 ปีที่แล้ว +6

    Лайк, коммент для продвижения!
    Спасибо! Тимофей за ваши лекции

  • @maratmusafir
    @maratmusafir 3 ปีที่แล้ว +29

    Это когда долго долго учился и ничего не понял а потом пришёл Тимофей Фёдорович и на пальцах всё объяснил

    • @svitq368
      @svitq368 2 ปีที่แล้ว

      Есть прогресс в программировании в целом за эти 9 месяцев? Интересно было бы узнать)

    • @maratmusafir
      @maratmusafir 2 ปีที่แล้ว +3

      @@svitq368 оооооо! Ещё какой! print("Hello world " ) научился наконец то!

  • @user-tt3ub7mh1p
    @user-tt3ub7mh1p 3 ปีที่แล้ว +11

    Желаю Вам побольше подписчиков за Ваш труд

    • @volhak4519
      @volhak4519 3 ปีที่แล้ว +2

      Присоединяюсь

  • @greblin85
    @greblin85 2 ปีที่แล้ว

    Прекрасный преподаватель. Спасибо, Тимофей Фёдорович!

  • @ASM1538
    @ASM1538 3 ปีที่แล้ว +4

    Спасибо. Все четко и понятно

  • @linuxlifepage
    @linuxlifepage 3 ปีที่แล้ว

    Спасибо! Интересные уроки 👍👍👍

  • @volhak4519
    @volhak4519 3 ปีที่แล้ว +2

    Очень талантливый преподаватель

  • @vladlenmontez8568
    @vladlenmontez8568 6 หลายเดือนก่อน

    Никогда не понимал ООП,читал книги смотрел видосы и не помогло.Но с вами я понял всё стало на свои места

  • @deffunction7657
    @deffunction7657 ปีที่แล้ว

    благодарю Вас за лекцию Тимофей

  • @1kolikoli1
    @1kolikoli1 3 ปีที่แล้ว +5

    На 58:49 небольшая ошибка, имя импортированного модуля влияет, просто Тимофей импортировал один модуль 2 раза с разными именами (lib и library), но дважды обратился к модулю lib. Таким образом функция вызвалась из модуля lib и имя было "lib". Если бы он написал library.print_name() тогда бы вывелось имя "library".
    Просто имейте это ввиду.

    • @user-el1fy2ob4d
      @user-el1fy2ob4d ปีที่แล้ว

      Нет, это вы что-то путаете. Не получается так, имя всегда выдает то, какое есть у модуля исходное

    • @eugenesemin4082
      @eugenesemin4082 ปีที่แล้ว

      Никакой ошибки тут нет.
      Можно импортировать модуль хоть под десятью разными псевдонимами, но в результате будет создан всего один объект модуля, и все имена заданные при импорте будут ссылаться на один и тот же объект. А переменная __name__ данного объекта будет иметь имя файла модуля, никакие псевдонимы при импорте не него не влияют.
      Поэтому в примере в видео - создается один объект модуля lib, переменная __name__ получает значение 'lib', а на данный объект просто ссылаются два имени в том модуле, в который его импортировали, т.е. lib и library ссылаются на один и тот же объект в памяти, с одни и тем же значением переменной __name__, поэтому не важно, через какое имя вызвать функцию print_name, результат будет аналогичен.

  • @sergeylitvinenko779
    @sergeylitvinenko779 ปีที่แล้ว

    Спасибо за доступ !

  • @user-qs7st3sw8c
    @user-qs7st3sw8c 3 ปีที่แล้ว +2

    Наконец-то началось то что можно назвать интересным

  • @slava_zxz
    @slava_zxz 2 หลายเดือนก่อน

    Угарно на самом деле, как в любой серии видео по обучению первое видео набирает несколько миллионов, а в середине-конце уже до 100к

  • @SeriesWOT
    @SeriesWOT 3 ปีที่แล้ว +2

    Молодец холодец) о_О

  • @kirillium9332
    @kirillium9332 2 ปีที่แล้ว

    Лучший.

  • @user_Ilya1987
    @user_Ilya1987 9 หลายเดือนก่อน

    Прямо смотришь и понимаешь насколько все доспупно для понимания, постыми понятными выражениями.

  • @user-up2vk4bh2d
    @user-up2vk4bh2d 3 ปีที่แล้ว +4

    1:19:54 - Понятно? Агааааа, как тут не понять))))

  • @caftanfire7597
    @caftanfire7597 3 ปีที่แล้ว +3

    Я правильно понимаю, что "2020 Практика программирования на Python" и "2017-2018 Алгоритмы и структуры данных на Python 3" это разные дисциплины и смотреть их надо именно в таком порядке? Первая дисциплина преподаётся в 1 семестре, а вторая во 2 и 3 семестрах да?

  • @user-ul6yv9pr8e
    @user-ul6yv9pr8e 2 ปีที่แล้ว

    получается, чтобы создать новый язык достаточно скопировать старый и поменять немного правила) буду удивлен если остальные функции будут похоже

  • @mantrida
    @mantrida 3 ปีที่แล้ว +3

    Я бы сказал, что класс - это некий шаблон для создания объектов (экземпляров класса).

    • @artyshock569
      @artyshock569 2 ปีที่แล้ว +1

      класс - это идеальный, но абстрактный пример для его экземпляров. нумеро уно, а детки - подобия с отличиями.

  • @michaelmushers6368
    @michaelmushers6368 3 ปีที่แล้ว +2

    За чем мне это пока не знаю точно, ведь есть основная работа? Но оторваться не могу, конспект накатал приличный уже. Понял для себя одно - программирование не даёт мозгу зачерстветь. Спасибо.

    • @Dan-pq9zt
      @Dan-pq9zt 2 ปีที่แล้ว

      как успехи

  • @sacramentofwilderness6656
    @sacramentofwilderness6656 3 ปีที่แล้ว +1

    Вопрос по поводу различия классов и модулей - если я импортирую один и тот же модуль под несколькими разными именами : import mymodule as m1, import mymodule as m2, и в этом модуле есть какие-то константы - то ведь по сути я в каком-то смысле сделал два экземпляра? Ну за исключением того, что не будет кастомного конструктора. Или есть ещё тонкости?

  • @jamjam3337
    @jamjam3337 6 หลายเดือนก่อน

    👍

  • @user-wh3jr1wf5y
    @user-wh3jr1wf5y 3 ปีที่แล้ว +1

    много чего написал, комп глюканул, лень переписывать(((( коротко.... я сам Учитель музыки... смотрю с удовольствием хотя и нафиг не надо ....казалось бы...НО приемы преподнесения информации... ну я стырил и не стыдно(хы-хы-хы), и тырю, и не стыдно )))) ваши вот эти функции в нотный стан перевожу и ноты.... заколебало....хотя иногда такая у-у-у-у-уня играет из под пальцев...прикольно...на баяне, с электронным приводом(гы-ы-ы-ы-ы) соседи привыкли и даже стучали в двери когда 4 дня тишины было

  • @korvet348
    @korvet348 3 ปีที่แล้ว +1

    А мы "загрузки" назовем множеством папок и норм)

  • @OAV2008OAV
    @OAV2008OAV 2 ปีที่แล้ว +1

    Если кому интересно, Goat Says 'Meh'. Теперь ты знаешь.

  • @user-pg6qn6qq7f
    @user-pg6qn6qq7f 3 ปีที่แล้ว +4

    Здесь будет полмиллиона просмотров:

    • @anthroposhroom
      @anthroposhroom 3 ปีที่แล้ว +2

      Когда-нибудь, через несколько лет.

    • @blacktopepo
      @blacktopepo 3 ปีที่แล้ว +1

      здесь*

    • @digitalkunstwerk
      @digitalkunstwerk 3 ปีที่แล้ว +3

      Рассмешил

    • @Dim_vai
      @Dim_vai ปีที่แล้ว

      сейчас 55 тыс держу в курсе

  • @onethegogd5783
    @onethegogd5783 ปีที่แล้ว

    Вы для меня образец для подражания