Автор(ы): Андрей Кудлай
Видеокурс состоит из 2 больших разделов и включает в себя 72 урока общей продолжительностью более 23 часов.
Первый раздел является квинтэссенцией тщательно отобранной (только то, что востребовано и применимо в реальной жизни) актуализированной исчерпывающей теоретической базы по Питону последней версии и многочисленных практических занятий для обязательного закрепления полученных знаний и самопроверки. Уникальной отличительно особенностью курса является то, что здесь вы найдете не только уроки непосредственно по изучению Python.
Второй большой раздел видеокурса полностью посвящен изучению библиотеки Tkinter, которая позволяет создавать уже полноценные приложения с графическим интерфейсом (GUI) под различные платформы, в отличие от просто консольных версий программ. Здесь вы получите еще больше практики, которая вам пригодится в реальной жизни, и заданий для самопроверки.
Первая часть курса посвящена исключительно изучению Python. При этом материал подойдет для абсолютных новичков в программировании, поскольку все термины и понятия объясняются простым и понятным языком. Если же у вас есть опыт изучения любого другого языка программирования, тогда это будет большим плюсом и понять Python будет куда проще. Если же вы знакомы с PHP, тогда совсем замечательно, поскольку для более простого понимания Python в курсе сделано множество сравнений и аналогий с PHP. Изучение построено от простого к сложному и соответственно, курс будет начат с таких базовых вещей для любого языка программирования, как: синтаксис языка, типы данных, переменные, операторы и т.п. Кроме изучения теории в первой части вы найдете и много практики. Получив основы и перейдя к более продвинутым темам, уже начиная с 15-го урока и буквально в конце каждого следующего урока будет даваться домашнее задание, решение которого будет показано в следующем уроке. Домашних заданий и практики будет достаточно много, что позволит разбавить теорию практикой и закрепить изучаемый материал на практике.
В первом уроке курса рассмотрены организационные моменты, структура и содержание курса. Из урока вы узнаете об основных источниках документации, о языке Python, его актуальности и популярности.
В этом уроке будет показана установка Python. Процесс этот предельно прост и ничем не отличается от установки любой другой программы для вашей операционной системы. Все, что нужно сделать, это скачать дистрибутив с официального сайта, запустить его на установку и… все. Никаких настроек и конфигураций, вся установка занимает буквально несколько минут. После установки Python готов к использованию.
Для того, чтобы изучать программирование и писать код, необходим важный инструмент, без которого не обойтись – редактор кода. Собственно, для этих целей подойдет любой современный редактор кода с подсветкой синтаксиса для Python. В уроке показана установка среды разработки PyCharm, которая предназначена специально для программирования на Python. Эта IDE будет использоваться на протяжении всего курса.
Начиная с этого видео будет изучаться непосредственно Python и из этого урока вы узнаете о синтаксисе языка. В уроке будет показано, как разделяются команды друг от друга, из урока вы узнаете о таких понятиях, как логически и физически строки, также будет рассказано о важности отступов в Python.
Как и любой другой язык программирования, Python оперирует различными типами данных. Из этого урока вы узнаете о нескольких простых типах: Integer и Float, к которым относятся числа. Также в уроке будет показана работа с арифметическими операторами, многие из которых известны всем со школы и позволяют выполнять математические операции над числами.
В основе любого языка программирования лежит понятие переменной. Именно благодаря переменным мы можем хранить в памяти компьютера данные и получать их из памяти. Из этого урока вы узнаете, как создаются переменные в Python.
В этом видео вы познакомитесь с еще одним типом данных – булев тип. Этот тип предлагает два константных значения: True и False. Булев тип используется чаще всего в операциях сравнения, например, сравнения двух значений и, в зависимости от результата сравнения, будет получена либо Истина (True), либо Ложь (False).
Этот урок продолжит знакомство с типами данных в Python, и здесь вы узнаете об еще одном типе данных – строка.
Как и в случае с числами, со строками можно выполнять некоторые операции. Например, одной из частых операций является складывание или конкатенация строк. Для этой операции используется оператор плюс. В случае с числами этот оператор прибавит одно число к другому. В случае же со строками – он объединит две строки в одну, склеив их. Из этого видео вы узнаете о типовых операциях со строками в Python.
Как и любой другой язык программирования, Python предлагает ряд методов (функций) для работы со строками. Используя эти методы, можно производить ряд полезных операций над строками, что вы и увидите в данном уроке.
Важной темой при работе со строками является тема их форматирования. И здесь Python предлагает самые разные варианты для этой операции. Используя форматирование строки, в нее можно подставить различные динамичные данные, например, значение переменной или результат вычисления.
Условный оператор IF является одним из ключевых операторов в Python, без которого невозможно написать сколь-нибудь сложную программу. Благодаря этому оператору можно выполнять те или иные действия в зависимости от выполнения или невыполнения проверяемого условия.
Из этого видео вы узнаете о том, что такое циклы и для чего они используются в программировании. Python предлагает два вида циклов: цикл For и цикл While. Используя циклы, можно выполнить некие действия определенное количество раз или же пройтись по итерируемому объекту, или произвести другие нужные операции.
В одном из предыдущих уроков было рассказано о переменных, в которых можно хранить некоторые значения. При этом в одной переменной можно хранить только одно значение. Но в любой серьезной программе одномоментно может быть сотни различных значений и создавать под каждое значение свою переменную – не рационально. Для этого Python предлагает такой тип данных, как список, который позволяет хранить самые разные значения. Из этого урока вы узнаете о списках в Python.
В данном курсе будет не только теория, но и много практики. В этом уроке вы найдете решение домашнего задания, которое предлагает написать программу для вывода таблицы умножения. Это уже достаточно сложное для начинающего программиста домашнее задание, которое позволит закрепить сразу несколько предыдущих тем.
В одном из предыдущих уроков вы могли узнать о новом типе данных в Python – списках. В этом уроке вы найдете методы для работы со списками. Благодаря предлагаемым Питоном функциям, над списками можно проделывать самые разные операции: добавлять или удалять элементы, сортировать список или переворачивать его и т.д.
В Python есть два типа объектов: изменяемые и неизменяемые. Оба этих типа предполагают различные операции, которые можно производить над ними. При этом есть некоторые нюансы при работе с данными объектами, о которых вы узнаете из этого урока.
В этом видео вы найдете сразу четыре задачи, которые будут предложены в качестве домашнего задания. Данные задачи позволят закрепить сразу несколько пройденных тем.
В данном уроке вы увидите решения четырех задач, которые вы получили в качестве домашнего задания в предыдущем уроке.
Этот урок познакомит вас с еще одним типом данных – кортежи. Кортежи очень похожи на списки и, по сути, кортеж – это неизменяемый список. В конце урока будет дано домашнее задание.
В данном уроке вы увидите решение домашнего задания, полученного в предыдущем уроке.
В этом уроке вы узнаете об еще одном типе данных в Python – множество. Этот тип данных, как и списки или кортежи, также позволяет хранить более одного значения.
В этом уроке будет показан еще один тип данных в Python, позволяющих хранить множество значений, – словарь. Словарь похож на JSON-объект и позволяет хранить данные парами в формате ключ: значение.
Данный урок продолжит тему словарей в Python и в уроке будут показаны некоторые методы для работы со словарями.
Данный урок будет исключительно практическим и в нем будет показано написание игровой программы Угадай число. Суть игры состоит в том, что программа загадывает число в определенном диапазоне и предлагает игроку отгадать его за наименьшее количество попыток.
Следующие три урока посвящены такой важной и достаточно сложной для начинающих программистов теме, как пользовательские функции. Кроме встроенных функций, Python предоставляет программистам возможность создавать свои собственные функции, которые будут выполнять определенную задачу. Эти функции можно вызывать сколь угодно много раз, избегая тем самым дублирования кода, делая код более лаконичным и поддерживаемым.
Следующие три урока посвящены такой важной и достаточно сложной для начинающих программистов теме, как пользовательские функции. Кроме встроенных функций, Python предоставляет программистам возможность создавать свои собственные функции, которые будут выполнять определенную задачу. Эти функции можно вызывать сколь угодно много раз, избегая тем самым дублирования кода, делая код более лаконичным и поддерживаемым.
Следующие три урока посвящены такой важной и достаточно сложной для начинающих программистов теме, как пользовательские функции. Кроме встроенных функций, Python предоставляет программистам возможность создавать свои собственные функции, которые будут выполнять определенную задачу. Эти функции можно вызывать сколь угодно много раз, избегая тем самым дублирования кода, делая код более лаконичным и поддерживаемым.
В этом уроке будет показано решение трех задач из домашнего задания, данного в предыдущем уроке. Задачи призваны закрепить тему пользовательских функций в Python.
Из этого урока вы узнаете о такой полезной вещи в Python, как модули. По сути, модулем можно назвать любой файл с кодом на Python. Этот файл можно подключить к любому другому файлу путем импорта. При этом импортировать можно как собственные модули, так и модули из стандартной библиотеки.
Одной из часто используемых возможностей в ваших программах является работа с датой и временем. Для этого Python предлагает специальный модуль Datetime, использование которого вы и увидите в этом видео.
В этом видео будет показан вариант решения очередного домашнего задания, согласно которому необходимо было построить дерево файлов и папок указанного каталога.
Кроме работы непосредственно с данными, на практике нередко необходима работа с различными файлами, например, текстовыми документами. Python предлагает ряд функций для работы с файлами, благодаря которым можно читать файлы, создавать или удалять их. Из этого урока вы узнаете, как можно работать с файлами в Python.
Данный урок будет, опять-таки, практическим и из него вы узнаете, как можно организовать парсинг веб-ресурса, получить необходимую информацию и сохранить ее в файл. В ходе урока вы узнаете о таком инструменте, как PIP и репозитории PyPI.
Еще одним интересным типом данных в Python являются исключения. Их задача – сообщить программисту об ошибках при выполнении программы, о неких исключительных ситуациях. При этом может так статься, что такие ошибки вполне допустимы и завешать программу при этом не следует, но следует обработать исключение и продолжить выполнение программы или сообщить пользователю о проблеме. Об исключениях и будет рассказано в данном уроке.
Среди прочих методологий программирования Python также поддерживает и объектно-ориентированное программирование (ООП). Объектно-ориентированный подход достаточно сложен для начинающих программистов, но в Python ООП реализовано на самом деле не так уж и сложно. В этом уроке будут показаны основы ООП, в частности, будут рассмотрены понятия класса и объекта.
Одним из ключевых методов создаваемых классов является конструктор класса. Благодаря конструктору, при создании объекта можно выполнить некоторый код автоматически, что очень полезно во многих случаях. Из урока вы узнаете о конструкторе класса в Python.
Одним из основных механизмов ООП является инкапсуляция, которая позволяет ограничить доступ к методам и свойствам объекта. Инкапсуляция в Python имеет некоторые нюансы и фактически существует на уровне соглашений. Из этого урока вы узнаете подробнее о данном механизме ООП.
В данном уроке вас снова ждет практика и здесь будет взят готовый код из урока по парсингу сайта, и на основе данного кода будет показано написание класса для парсинга. Это позволит закрепить пройденный материал по теме ООП.
Разрабатывая большое и разветвленное приложение, вы сможете наблюдать преимущества ООП, благодаря механизму наследования. Данный механизм предполагает наследование дочерним классом всех атрибутов наследуемого, родительского класса. Подробнее эта тема рассмотрена в данном видео.
С механизмом наследования связан еще один механизм ООП – полиморфизм. Данный механизм подразумевает различное поведение одного и того же метода в разных классах, полиморфизм предлагает возможность переопределения методов.
Данный урок посвящен теме декораторов в Python. Декораторы – это некоторые обертки для функций, которые позволяют изменить поведение функции, не изменяя ее код.
В этом видео вы найдете продолжение темы пользовательских функций и познакомитесь с так называемыми анонимными функциями, которые можно создавать при помощи инструкции Lambda. В ряде случаев использование анонимных функций может быть весьма полезным.
Как и во многих других языках программирования, в Python есть модуль для работы с регулярными выражениями. Регулярные выражения – это формальный язык поиска в тексте. Используя регулярные выражения, над текстом можно производить фактически абсолютно любые действия, связанные с поиском и заменой подстрок.
Следующие три урока посвящены работе с данными и хранению данных. Данные можно хранить в обычных текстовых файлах, что было показано в теме парсинга. Однако, такой вариант подойдет далеко не всегда и, если речь идет о более-менее серьезном проекте, для хранения данных используются базы данных. В следующих нескольких уроках вы узнаете о модуле SQLite в Python, который позволяет работать с одной из простейших СУБД SQLite.
Следующие три урока посвящены работе с данными и хранению данных. Данные можно хранить в обычных текстовых файлах, что было показано в теме парсинга. Однако, такой вариант подойдет далеко не всегда и, если речь идет о более-менее серьезном проекте, для хранения данных используются базы данных. В следующих нескольких уроках вы узнаете о модуле SQLite в Python, который позволяет работать с одной из простейших СУБД SQLite.
Следующие три урока посвящены работе с данными и хранению данных. Данные можно хранить в обычных текстовых файлах, что было показано в теме парсинга. Однако, такой вариант подойдет далеко не всегда и, если речь идет о более-менее серьезном проекте, для хранения данных используются базы данных. В следующих нескольких уроках вы узнаете о модуле SQLite в Python, который позволяет работать с одной из простейших СУБД SQLite.
Последний урок первой части курса будет практическим и в нем будет показано написание программы для архивации каталогов и их содержимого.
Вторая часть курса посвящена работе с интересной библиотекой Tkinter для создания приложений с графическим интерфейсом, которая входит в стандартную библиотеку Python. В первой части при изучении Python вы могли увидеть результат выполнения программ в консоли, то есть фактически писались консольные приложения. Это далеко не всегда приемлемо, поскольку для выполнения таких программ, во-первых, на компьютере должен быть установлен Python и, во-вторых, для запуска таких программ необходимы некоторые навыки работы с консолью. Согласитесь, было бы куда интереснее, если бы на выходе была не консольная программа, а стандартное для операционной системы исполняемое приложение. В случае с ОС Windows это приложение EXE. Библиотека Tkinter позволяет это сделать. Используя эту библиотеку, можно создавать GUI-приложения, то есть приложения с графическим интерфейсом, запуск которых ничем не отличается от любых других стандартных приложений для операционной системы.
Первый урок второй части курса посвящен общим моментам работы с библиотекой Tkinter. Из урока вы узнаете о том, что представляет собой данная библиотека и какие программы она позволяет создавать. Также вы увидите, как создать окно программы, какие настройки к нему можно применить.
В следующей паре уроков будет рассмотрен виджет Button, позволяющий добавлять в окно программы кнопки. Это, пожалуй, один из наиболее часто используемых виджетов, поскольку редко какая программа с графическим интерфейсом может обойтись без хотя бы одной кнопки.
В следующей паре уроков будет рассмотрен виджет Button, позволяющий добавлять в окно программы кнопки. Это, пожалуй, один из наиболее часто используемых виджетов, поскольку редко какая программа с графическим интерфейсом может обойтись без хотя бы одной кнопки.
Следующий популярный виджет библиотеки Tkinter – виджет Label. Используя данный виджет, можно создавать в окне программы надписи без возможности редактирования. Например, это может быть информационный блок текста, некоторая справка или подписи для элементов форм. Как работать с виджетом Label – вы увидите в этом уроке.
В программах с графическим интерфейсом нередко необходимо взаимодействовать с пользователем программы и получать от него некие текстовые данные. Это можно сделать, в частности, с помощью виджета Entry, который реализует поле для ввода однострочного текста. В уроке вы увидите, как работать с данным виджетом.
Следующие три урока будут практическими и здесь вы увидите процесс написания первой программы под названием Цвета радуги. И пусть это будет очень простая программа, но это уже полноценная программа с графическим интерфейсом. При написании программы будут показаны два подхода и рассмотрены преимущества использования объектно-ориентированного подхода.
Следующие три урока будут практическими и здесь вы увидите процесс написания первой программы под названием Цвета радуги. И пусть это будет очень простая программа, но это уже полноценная программа с графическим интерфейсом. При написании программы будут показаны два подхода и рассмотрены преимущества использования объектно-ориентированного подхода.
Следующие три урока будут практическими и здесь вы увидите процесс написания первой программы под названием Цвета радуги. И пусть это будет очень простая программа, но это уже полноценная программа с графическим интерфейсом. При написании программы будут показаны два подхода и рассмотрены преимущества использования объектно-ориентированного подхода.
При создании того или иного элемента интерфейса в окне для начала необходимо создать его, используя соответствующий виджет, а затем разместить его в окне, используя один из трех менеджеров геометрии. В этом уроке будет показана работа с простейшим менеджером геометрии – методом Pack, который больше подходит для разметки областей окна.
В этом уроке будет показана работа с еще одним менеджером геометрии – методом Grid. Это уже более интересный упаковщик элементов и он хорошо подойдет для вывода элементов в некоторой условной сетке.
В данном видео вы познакомитесь с последним менеджером геометрии – методом Place. Данный метод, по сути, предлагает полную свободу размещения элементов в окне, поскольку позволяет указать точные координаты размещения элемента.
Начиная с данного урока и на протяжении следующих трех уроков будет показано написание простейшего варианта блокнота, простейшего текстового редактора. Для этого потребуется три новых виджета, два из которых будут показаны в текущем уроке – это виджет Text и виджет Scrollbar.
В этом видео будет показан виджет Menu, позволяющий реализовать меню создаваемой программы. Например, в случае с блокнотом в этом меню могут располагаться пункты «Открыть», «Сохранить» и т.д.
В данном видео будет показана реализация функционала переключения тем в программе Блокнот. Создаваемый редактор будет предлагать две темы: темную и светлую, между которыми можно переключаться, используя соответствующий пункт меню.
В предлагаемом уроке программа Блокнот будет дописана. В частности, будут реализованы функции открытия текстового файла и его создания.
Данный урок очень важен, поскольку в нем будет продемонстрирован процесс сборки приложения. Все программы, написанные в предыдущих уроках, запускались через консоль среды разработки PyCharm. Однако по факту эти программы – это все еще консольные приложения, для запуска которых необходима консоль. Чтобы получить полноценную исполняемую программу – требуется сборка приложения. Из этого урока вы узнаете, как это можно сделать.
Предлагаемый урок будет исключительно практическим и достаточно полезным, поскольку в процессе его просмотра вы увидите создание реальной программы, которая будет действительно полезна. Эта программа задумана как сортировщик фотографий, но на самом деле ее можно использовать для сортировки абсолютно любых файлов.
В этом уроке вы увидите создание программы Часы. Это простейшая программа, которая просто выводит текущее время в виде цифровых часов и далее идет ход этих часов. При создании программы вы найдете объяснение важного нюанса бесконечных циклов в приложениях Tkinter.
Данный урок познакомит вас с полезным методом Bind, который позволяет привязывать события к некоторым действиям, например, клик мыши или нажатие клавиши.
В этом уроке вы увидите процесс написания еще одного полезного приложения – программы Конвертер валют. Программа будет уметь выводить текущие курсы валют и конвертировать введенную сумму, показывая суммы продажи в других валютах. Для получения курсов валют программа будет использовать API банка.
До текущего урока все показанные виджеты работали только в одном окне. На практике же иногда может возникнуть необходимость работать с более чем одним окном, то есть может потребоваться создать многооконное приложение. Для этих целей можно использовать виджет Toplevel, который и будет рассмотрен в предлагаемом видео.
Все виджеты, показанные в предыдущих уроках, имеют внешний вид по умолчанию, при этом иногда внешний вид некоторых виджетов, например кнопок, не очень привлекателен. Исправить эту проблему позволит расширение TTK, которое предлагает несколько тем оформления виджетов. В результате интерфейс создаваемых программ становится куда более естественным и современным.
Кроме тем из расширения TTK, можно попробовать воспользоваться сторонними пакетами для получения более привлекательного интерфейса программ. Одним из таких расширений является пакет TTKThemes, который и будет установлен в данном уроке.
В итоговом уроке второй части курса будет показано создание достаточно полезной программы Погода в мире. Для ее написания будет использовано API одного из популярнейших сервисов получения погоды. Написанная программа сможет показать погоду в любом запрошенном городе мира. При этом программа будет уметь показывать не только непосредственные параметры погоды за окном, но и много дополнительных полезных сведений.