0: Привет. В ходе этого урока мы с вами поговорим относительно модулей в языке питон. Мы научимся создавать свои собственные модули, а также изучим работу со встроенными модулями питон. А перед началом я бы хотел порекомендовать сайт it прогер точка ком. На этом сайте вы найдёте код домашние
1: Да, и много другой полезной информации. Ссылка на этот урок на сайте будет в описании к этому видео. Сам по себе язык питон это мощный инструмент, но полная его мощь раскрывается в момент, когда мы начинаем использовать модули модуль. Это по факту файл или же набор из
2: Файлов, что мы можем подключить к нашему проекту. И тем самым мы добавим новый функционал к нашему проекту. В питоне мы можем работать с модулями разными способами. Во первых, мы можем создать свой собственный файл или же набор из файлов и это будет у нас
3: Что-то в духе уже модуля. И далее этот модуль мы можем подключать к нашему текущему проекту или к нашим будущим проектам. В ходе этого урока мы как раз такое с вами будем делать, то есть будем создавать некий новый файл и далее его будем подключать в каком-либо другом файле, но в будущем сможете подключать этот же файл.
4: В каких-либо других ваших проектах. Это 1 способ. 2 способ. Он заключается в том, что мы можем помимо своих собственных модулей, помимо своих собственных вот этих вот файлов, подключать также встроенные модули, что существует в языке. Питон точно так же, как в питоне существует
5: Такие функции, как, например, print. Точно также здесь в питоне существуют и встроенные модули. Их очень и очень много. С некоторыми из основных модулей мы как раз с вами в ходе этого урока ознакомимся, научимся их подключать, а также использовать какой-либо функционал из этих
6: Модулей, ну и 3 способ, как можно работать с модулями, так это использовать различные библиотеки, ну или другими словами, по сути, те же самые модули, что были разработаны сторонними разработчиками. Все подобные модули, все подобные библиотеки и
7: War вы их можете найти на официальном сайте pypi точка орг это официальный сайт пакетного менеджера pip, в свою очередь, пакетный менеджер это приложение, что устанавливается вместе с питон, ну и, соответственно, за счёт этого пакетного менеджера вы в быстром формате.
8: Можете устанавливать различные библиотеки, а также фреймворки внутрь вашего проекта. В ходе этого урока мы также попробуем за счёт пакетного менеджера pip установить что-либо в наш проект и даже попробовать использовать установленную библиотеку в наших целях. Но давайте все.
9: Порядку. И в 1 очередь мы давайте рассмотрим, как можно использовать встроенные модули. Чуть позже рассмотрим, как можно создавать свои модули. Ну а чуть позже мы ещё рассмотрим, как можно использовать различные модули, различные библиотеки, что можно будет установить за счёт пакетного менеджера pip.
10: Итак, встроенные модули в языке питон их действительно огромнейшее множество. И если мы начнём рассматривать их все, то нам даже не хватит целого часового видео, чтобы просто хотя бы перечислить все эти модули, потому что, ну, их действительно очень и очень много. Некоторые из модулей используются, ну,
11: Уж дико редко другие достаточно часто. И вот, например, некоторые модули, которые используются достаточно часто, и некоторые модули, которые вам стоит просто знать, мы как раз и изучим в ходе этого урока. Конечно же, мы не изучим весь тот функционал, что находится внутри этих модулей, но я просто
12: Опишу, что делают эти модули и что конкретно из них можно будет вытянуть, какую полезную информацию из них можно будет вытянуть для начала давайте рассмотрим модуль, который позволяет нам работать со временем. Такой модуль он называется time, и чтобы нам его сюда импортировать, нам изна.
13: Вначале необходимо указать здесь директиву import, а дальше мы просто говорим, что конкретно мы импортируем. Опять же, поскольку модуль является встроенным, то ничего дополнительно скачивать и устанавливать нам не нужно. Мы просто указываем, что мы импортируем такой модуль, который называется как time. Также, кстати,
14: Говоря, существует ещё такой модуль, как date time, он, по сути, такой же самый, вот только он позволяет нам работать не только со временем, но также ещё и с датой для обращения к какому-либо модулю вы должны обратиться к нему по названию в моём случае это тайм, дальше нужно установить точку.
15: И после этого вы имеете доступ ко всем тем функциям и значениям, что находится внутри самого модуля. Как вы можете заметить, здесь достаточно много различных есть значений. Мы давайте сейчас попробуем использовать такую функцию, как sleep, и эта функция, она позволяет нам как бы
16: Заморозить программу на определённое количество секунд здесь давайте я укажу возможно 3 секунды, а также чуть ниже я попробую вывести некую информацию, например здесь будет написано hello, и если я сейчас запущу, то видите, у нас ничего не выводится и лишь через 3 секунды у нас был выведен
17: Текст, то есть функция sleep, она позволяет нам заморозить программу на определённое количество секунд вы здесь сами можете указать, сколько секунд, и после этого у вас программа продолжит работать, это достаточно полезная функция, достаточно часто к ней прибегаю в таком же ключе.
18: Вы можете обращаться и к другим различным функциям. Мы давайте сейчас попробуем с вами обращаться не к модулю тайм, а давайте попробуем обращаться к Такому модулю, который называется как date time, потому что он даже более интересен. Дело в том, что через модуль date time мы с вами можем получить
19: Текущую дату, причём она будет выведена в верном формате, а также можем получить, например, текущее время. Поэтому сюда я импортировал модуль date time. Причём, чтобы мне обратиться теперь к этому модулю, мне постоянно нужно будет прописывать вот это вот длинное название дейт тайм и дальше через
20: Точка смогу обращаться к нужным мне значениям. Вроде это все удобно и вроде так и можно делать, но я бы, наверное, хотел указать здесь дополнительный псевдоним, который был бы, короче, нежели это название. И по этому псевдониму я бы хотел как раз потом уже и обращаться. Так вот.
21: Спокойно можно сделать. То есть вот здесь я указываю, что я импортирую такой модуль, как datetime, а также указываю ключевое слово с и как бы говорю, что в качестве псевдонима я здесь пускай буду просто использовать буквочку d. Таким образом, теперь, вместо того, что я обращаюсь к date time которого
22: В принципе, теперь даже такого названия здесь нету. Я вместо этого теперь просто обращаюсь к буквочке ди. Тем самым я обращаюсь как раз к этому модулю. То есть я просто указал здесь псевдоним через такой псевдоним. Гораздо проще мне будет обращаться к необходимым данным. Здесь мы давайте с вами попробуем получить не просто
23: Дату, а возможно, попробуем с вами получить и дату, и время. Поэтому мы обращаемся к date time такой вот Такому вот значению и дальше через это значение мы можем вытянуть такую функцию, которая называется, например, как now. Она позволяет нам вывести текущее
24: Текущую дату и текущее время. Мы, конечно, это все хотим ещё вывести в терминал, поэтому здесь нужно выбрать принт. И дополнительно я, возможно, хочу не сразу вывести и дату, и время, да, а я, возможно, хочу вывести исключительно время. Поэтому после now я ещё обращусь здесь к
25: Функции time. Если я такое сейчас запущу, то вот у меня выводится текущее время, а также количество миллисекунд. И в таком же формате вы можете по необходимости вывести, например, дату. Также, если вам нужно вывести лишь какой-то там определённый месяц или, например, год, то вы всегда можете
26: Ещё обратиться здесь через точку и вывести там, например, день недели, просто день текущий или там месяц и так далее. Точно тоже самое. И со временем, например, я здесь обращаюсь к time и дальше через точку я здесь хочу вывести исключительно, например, часы, да, то есть у нас вот здесь было
27: 9:45. Если я сейчас такое повторно запущу, то вот у меня просто выводится 9, да, то есть как бы сейчас 9 часов точно также самое могу вывести здесь какие-то минуты и так далее. Таким образом, day time это тот модуль, который позволяет нам работать с текущей датой.
28: Или же временем, а также он позволяет нам работать и со временем и датой, которая будет в будущем или же в прошлом. Ну, опять же, здесь есть множество различных функций, мы их все сейчас с вами рассматривать не будем. Мы лучше с вами посмотрим, какие есть ещё модули и как их вообще можно подключать теперь.
29: Предположим, вас интересует некая информация относительно пользователя. Для того, чтобы узнать информацию про пользователя, вы можете использовать такие модули, как систем, а также os. Для их импорта. Вы просто можете создать новую строчку кода здесь прописываете импорт, указываете
30: Что вы импортируете такой модуль как six, а также ос для импорта нескольких модулей спокойно можете прописывать запятую. Тем самым мы говорим, что мы импортируем сразу несколько модулей. Кроме того, мы бы это все могли даже ещё немного сократить и мы бы могли это все прописать в 1 строчку кода
31: В таком случае я говорю о том, что я импортирую дейттайм, причём указываю, указываю ему определённый псевдоним. Также я говорю о том, что импортирую систем, причём никакого псевдонима здесь уже не указываю и плюс импортирую ещё такой модуль, как ос. Теперь с каждым из этих модулей я спокойно могу
32: Работать. Давайте, например, сейчас мы обратимся к модулю систем. И здесь я обращусь просто к Такому значению, как пас. Это свойство, оно выдаёт нам как бы полные характеристики относительно того, какой путь сейчас идёт к те,
33: Текущему файлу. Ну, в общем, если такое запустить, то видите, у меня здесь идёт полный путь к текущему проекту, а также полный путь к текущему файлу. Если вы находитесь на windows, то там, соответственно, наверняка будет диск ц, потом будет идти какая-то папка и так далее. То есть это как бы полный путь к
34: Текущему проекту, если мы говорим относительно характеристик самого компьютера, то в таком случае нам нужно обращаться к os модулю. И здесь мы, например, можем обратиться к свойству нейм. В таком случае мы получим название текущей операционной системы. Да, я сейчас
35: Нахожусь на mac os, в то же время здесь не отображается именно название mac os, здесь отображается немного другое название, но если вот у вас будет выдаваться именно такое название, то вы будете понимать, что пользователь находится на mac os. Если вы сейчас на windows, то у вас, скорее всего, здесь как раз windows вот это вот слов.
36: И было выведено если вам нужно не просто вот какой-то такое какое-то такое непонятное название да, чтобы выводилось а если вам нужно чтобы выводилась конкретно ваша платформа, то в таком случае нужно здесь импортировать ещё 1 модуль, он так и называется как platform и соответственно
37: Здесь мы можем обратиться к данному модулю и можем обратиться к такой функции, как систем. Если я такое сейчас запущу, то видите, у меня здесь отображается дарвин, и по факту это как рабочее название для моей операционной системы. Опять же, если вы на линукс, то будет отображаться
38: Если если вы на windows, то будет отображаться виндовс. Ну, если на маке, то, видите, отображается здесь как дарвин. Ну и в аналогичном формате вы сможете в будущем импортировать любые новые модули, что существуют в языке питон, например, если вам потребуется найти какое-то случайное
39: Число, то вы можете импортировать такой модуль как random. Если вам потребуется работать с массивами, то вы можете импортировать такой модуль как array, если потребуются математические функции, то можно использовать масс или же симас и так далее все вот эти вот основные
40: Модули, они представлены в официальной документации, также вы можете их найти просто в google. Ну и если вам понадобится какой-либо функционал, то вы просто импортируете нужный вам модуль, а далее по его названию вы обращаетесь к модулю и обращаетесь к нужным функциям или же
41: Значением. Здесь работа будет аналогичной. Вам просто необходимо именно изучить вот этот вот процесс импорта каких-либо модулей. Мы давайте с вами ещё рассмотрим какими другими дополнительными способами можно импортировать различные модули.
42: На данный момент мы с вами каждый раз импортировали полностью весь модуль, то есть все его функции, все его значения мы всегда с вами импортировали. Также помимо этого мы можем указывать, что конкретно мы будем импортировать из какого-либо модуля, например, мы давайте сейчас с вам
43: Скажем, что из такого модуля, который называется как mass, мы с вами импортируем исключительно, например, такую функцию, которая называется как эскью Эрти, она позволяет нам найти квадратный корень. Причём мы можем даже указать здесь псевдоним. Если нам такое понадобится, можем
44: Не указывать, но можем и указать. Или я, например, укажу и здесь просто укажу псевдоним, как с. Ну и, например, теперь я могу спокойно обратиться по этому псевдониму. Напомню, что этот псевдоним это, по сути, функция скью рт, которую мы как раз с вами и сюда
45: Импортировали, и чтобы нам просто выполнить эту функцию, мы обращаемся по псевдониму сюда я передаю какое-то число, например, 100, ну и квадратный корень из 100 будет, конечно же, 10. Также вы можете передавать какие-то другие сюда числа, ну и соответственно, будете находить нужный квадратный корень, то бишь если
46: Вам необходимо из какого-либо модуля импортировать только, например, 1 или 2 функции, то вы всегда можете указывать здесь директиву Фром, говорить, откуда конкретно вы что-либо импортируете, и далее говорить, что конкретно вы импортируете. Например, я импортировал эскью арти, а также, возможно, чере.
47: Запятую. Я хочу импортировать такую функцию, как цейл функция цейл. Она позволяет нам округлить число. Ну и, например, вот мы её здесь ещё будем использовать, запускаем. И вот у нас просто выдаётся 5, да, то есть не 5 точка 0, как до этого выдавалось, а теперь выдаётся просто пят.
48: Таким образом, вы можете импортировать как полностью весь модуль целиком, так и можете импортировать из него лишь какие-либо определённые значения. Для этого нужно использовать директиву Фром. Теперь давайте попробуем создать свой собственный модуль. Для этого мы можем просто создать некий новый файл или же пап.
49: С новыми файлами. И далее мы сможем импортировать этот файл или же папку в наш основной файл. Тем самым мы будем как раз подключать наш собственный модуль. Ну и давайте создадим сейчас просто какой-то новый файлик. Название у файла может быть каким угодно. Главное, чтобы
50: Это было осмысленное название, чтобы здесь не было пробелов, а также, чтобы здесь не было специальных символов. Ну, допустим, я назову этот файл, как my module, точка пай. Соответственно, вот такой вот файлик я здесь создал в этом файле мы можем указать какие-либо значения. Ну, пускай здесь будет, например,
51: Name, а также возможно здесь мы создадим некую функцию, пускай она будет называться как hello эта функция все, что будет делать, так она просто будет писать hello, а дальше дополнительно она здесь будет выводить переменную значение этой переменной. И здесь дополнительно мы давайте возможно создади
52: Ещё 1 функцию, она у меня будет называться как at three numbers. Она будет принимать 3 параметра. И тут, возможно в функции мы пропишем небольшую проверку. То есть, если, а не будет равна нулю, если б дополнительно тоже не будет равно нулю. И если з,
53: Тоже не будет равно нулю, то только в таком случае мы будем с вами возвращать результат сложения этих чисел. Ну, допустим что-то вот в этом духе, а иначе мы давайте, возможно, будем просто возвращать с вами. Давайте все-таки будем возвращать, возвращать с вами
54: Некую строку. И здесь будем писать что-то в духе сам из zero, то есть что-то равно нулю. Ну, например, такая вот бессмысленная, но все же функция у нас будет окей. Вот, предположим, я создал вот подобный модуль, да, то есть здесь есть некое значение, здесь есть некие функции
55: Ну и в общем то больше тут ничего нет. По желанию вы, конечно в этот файл можете добавить какие-то другие функции, какие-то другие значения, но мы остановимся пока вот на таком. Теперь я хотел бы импортировать вот этот модуль, как это можно сделать? Мы просто прописываем тоже самое ключевое слово import. Вот только
56: В этот раз мы не импортируем уже стандартные модули да по типу там random и так дальше а мы импортируем наш собственный модуль, который так и называется как my module. Вот и все. Я его теперь импортировал тут же я по необходимости могу добавить псевдоним например могу про.
57: Просто указать my. В таком случае я обращаюсь по псевдониму и здесь, например, я могу обратиться просто к значению, к какой-либо переменной, да, например, вот к переменной name. Если я такое попытаюсь вывести, то вот у меня выводится значение Бопп, все обработалось корректно, также по необходимости могу
58: Спокойно обратиться к моему модулю, обратиться к функции hello, напомнить, что эта функция и так что-либо выводит, поэтому не нужно её записывать принт. Ну и мы замечаем, что вот и bop у нас вывелось, и хэллоу боп у нас тоже вот это вот значение вывелось, да, то есть функция обработалась корректно теперь давайте мы
59: Попробуем сделать так, что мы будем не просто весь модуль импортировать, а будем лишь импортировать какие-либо определённые части из этого модуля. Для этого нам нужно указать директиву Фром. Дальше мы говорим, что мы импортируем все из my module. И здесь я говорю, что конкретно я импортирую. Я, давай
60: Буду импортировать такой метод как at three numbers. Ну и можно заметить что метод уж слишком длинный, поэтому давайте тоже добавим к нему псевдоним например псевдоним пусть просто будет как at далее мы давайте воспользуемся этим методом причём мы возможно все это будем выво.
61: Ещё сразу в терминал, потому что там возвращается значение. Мы это возвращаемое значение сразу будем показывать пользователю. Ну и тут мы пропишем просто какие-либо значения, например, 5, 3 и 6. Если такое запустим, то выводится 4. Но если здесь где-то указать 0,
62: То выводится сам из zero, все обрабатывается корректно. Таким образом вы можете использовать как встроенные модули, что существуют в языке питон, так и можете создавать свои файлы или же папки с файлами. И далее вы можете импортировать эти папки или же просто файлы.
63: И использовать их функционал в ваших проектах. Ну и наконец, теперь давайте мы с вами поработаем с пакетным менеджером pip. Как я уже сказал, пакетный менеджер pip, он устанавливается автоматически вместе с питоном. То есть, если вы установили питон на ваш компьютер, то пакетный менеджер, он такж.
64: У вас уже установлен, ну и за счёт этого пакетного менеджера вы можете устанавливать различные библиотеки, также фреймворки, что были разработаны другими сторонними разработчиками. Все вот эти вот библиотеки, также фреймворки, вы их можете их описание, также вы их прост.
65: Можете найти на официальном сайте pypi точка орг. Ссылку на этот сайт я, кстати, оставлю в описании к этому видео, ну и вот, например, в будущем, если вы захотите разрабатывать веб сайты на основе языка питон, то вам потребуется ещё такой фреймворк, который называется как Джанга, соответственно.
66: Здесь вы этот фреймворк можете найти, также вы можете перейти на его страничку, и здесь же вы можете как бы найти команду по установке этого фреймворка. И небольшое описание о том, как можно использовать данный фреймворк. Ну, поскольку, поскольку Джанг это
67: Совершенно отдельный фреймворк, который требует отдельного большого видеокурса, то мы конкретно django устанавливать сейчас с вами не будем. В то же время мы можем установить что-то максимально простое, просто чтобы протестировать как бы вот эту технологию пип, и чтобы просто понять, каким образом у на
68: Происходит установка различных библиотек, и в качестве нужной библиотеки я выбрал в принципе такую забавную библиотеку, которая не несёт никакого смысла, но в то же время она просто интересная и позволяет нам немножко позабавиться. Эта библиотека, она называет
69: Косей. Или же если дословно это переводить, то корова говорит, и чтобы нам, чтобы нам установить эту библиотеку, мы должны просто прописать вот эту вот команду в терминале. Поэтому давайте мы даже нажмём здесь на копировать данную команду. Кстати говоря, если вы
70: Хотите найти именно вот эту вот библиотеку, то просто вот здесь, в поиске, напишите co сей, и 1 ссылка, по сути, будет на нужную библиотеку. Вот эта вот ссылка, да, после этого вы можете здесь скопировать команду или можете её вручную прописать это 1 и тоже самое будет. Мы давайте зайдём в
71: Терминал. Здесь я терминал очищу, просто напишу клер. И далее мы можем вставить вот эту вот команду. Причём если после вставки этой команды, а также нажатия на кнопку enter у вас выдалась ошибка, то в таком случае вам нужно будет после pip ещё прописать тройку. То есть если у вас
72: Вот эта вот команда не выполнилась. Тогда попробуйте выполнить команду pip 3 install коп сей. Ну, у меня эта команда, я знаю, что выполнится, поэтому я её просто как бы выполняю. И вот мы можем заметить, что у нас произошло скачивание самой этой библиотеки, а также установка этой библиотеки внутрь нашего проекта, мы
73: Мы можем заметить, что особо ничего у нас вроде не поменялось, в то же время сама эта библиотека, она была добавлена внутрь нашего проекта, и по факту она находится в Папке vnnv вот здесь вы можете заметить, что добавились новые папки косей, а также косей 4 точка нол.
74: Да, это именно те библиотеки, что позволяют нам. Вернее, это именно те папки, что позволяют нам теперь взаимодействовать с этой библиотекой. Ну и, как я говорил, библиотека максимально забавная. Она ничего особо не делает, чтобы нам её просто импортировать и использовать. Мы прописываем точно.
75: Тоже самое, что уже ранее делали. То есть мы прописываем импорт, дальше указываем, что мы импортируем такую библиотеку как cow say. Точно тоже самое у нас здесь написано в документации. И далее мы просто с вами обращаемся к этой библиотеке. Опять же, хотите
76: Вы можете здесь, кстати, псевдонимы указывать, например, я даже, возможно, укажу здесь псевдоним, просто буквочка си у меня будет написана здесь далее мы обращаемся к Такому методу, как шоу, или, как он здесь называется, а co, вернее, извиняюсь, не шоу, а co e сюда.
77: Мы просто передаём какой-либо текст, который будет отображён как бы на самой корове, да, как бы это не звучало, например, здесь пускай будет просто написано hello, запускаем все это. И вот что мы с вами получаем, да, у нас выводится корова, и она как будто говорит hello. Ну то есть, в общем,
78: Забавная просто библиотека, которая особо ничего не делает, это единственная функция, которая существует в этой библиотеке, но все же мы вот как бы на основе этой библиотеки просто изучили процесс установки, а также использования различных библиотек. В будущем. Вы можете
79: Находить различные библиотеки на этом сайте. Для их установки вы будете использовать различные команды, все эти команды, они представлены вот здесь и небольшое описание библиотек, оно библиотек, оно обычно также вот здесь находится. То есть вот видите, я, ну я как бы
80: Не знал, какие там именно конкретно существуют команды внутри этой библиотеки, и я просто посмотрел на документацию. Здесь было написано о том, что нужно импортировать библиотеку, а дальше, чтобы обратиться к этой библиотеке и обратиться к нужной функции, используйте функцию коу да и передавайте в неё некое
81: Значение то, что я как раз и сделал поэтому в будущем для использования различных вот этих вот сторонних библиотек вы можете использовать pip менеджер для их установки и официальную документацию относительно какой-либо библиотеки обычно можно найти на самой же страничке с этой же библиотекой.
82: Ну что же, на этом наш урок подходит к концу. Надеюсь, урок вам понравился. Если так, то не забывайте подписываться на канал, а также вступать в наши соцсети. Все ссылки на них будут в описании к этому видео. У меня же