Забудьте о скучном обучении — на курсе "Django-разработчик" вас ждут настоящие челленджи и нестандартные практические решения. А еще сильные проекты для портфолио и карьерный сапорт!
Пройдите тест, чтобы понять хватит ли у вас навыков для обучения.
Занятия в OTUS – это онлайн-вебинары. Преподаватели-практики помогут погрузиться в теорию, обучат на реальных примерах, расскажут о необходимых в работе инструментах. Вы всегда сможете задать вопрос и получить обратную связь.
И самое главное – сможете практиковаться!
🎁 Успейте на курс "Django-разработчик"! Только до 23 июня скидка 10%, подробности у наших менеджеров - после прохождения теста они свяжутся с вами.
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Что такое дескрипторы?
Дескрипторы — это механизм, который позволяет контролировать доступ к атрибутам классов. Они предоставляют способ определения специальных методов для доступа, присваивания и удаления атрибутов. Дескрипторы часто используются для реализации логики, связанной с доступом к данным, внутри классов.
Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.
👉@BookPython
Дескрипторы — это механизм, который позволяет контролировать доступ к атрибутам классов. Они предоставляют способ определения специальных методов для доступа, присваивания и удаления атрибутов. Дескрипторы часто используются для реализации логики, связанной с доступом к данным, внутри классов.
Для создания дескриптора нужно определить класс, который реализует хотя бы один из трех вышеуказанных методов. Затем экземпляры этого класса могут быть присвоены атрибутам других классов.
👉@BookPython
Паттерн проектирования «Фасад»
Паттерн проектирования «Фасад» (Facade) используется для предоставления унифицированного интерфейса к группе интерфейсов подсистемы. Он позволяет скрыть сложность и детали взаимодействия между различными компонентами системы, предоставляя клиенту более простой и удобный способ взаимодействия.
👉@BookPython
Паттерн проектирования «Фасад» (Facade) используется для предоставления унифицированного интерфейса к группе интерфейсов подсистемы. Он позволяет скрыть сложность и детали взаимодействия между различными компонентами системы, предоставляя клиенту более простой и удобный способ взаимодействия.
👉@BookPython
Цикломатическая сложность
Цикломатическая сложность (Cyclomatic Complexity) — это метрика, используемая для оценки сложности кода на основе количества путей выполнения в программе. Эта метрика была предложена Томасом МакКейбом в 1976 году и обычно используется для определения того, насколько сложно будет тестирование и сопровождение данного кода.
Целью расчета цикломатической сложности является выявление потенциально сложных участков кода, которые могут быть трудными для понимания, тестирования и поддержки. Более высокая цифра цикломатической сложности обычно указывает на большую сложность кода.
👉@BookPython
Цикломатическая сложность (Cyclomatic Complexity) — это метрика, используемая для оценки сложности кода на основе количества путей выполнения в программе. Эта метрика была предложена Томасом МакКейбом в 1976 году и обычно используется для определения того, насколько сложно будет тестирование и сопровождение данного кода.
Целью расчета цикломатической сложности является выявление потенциально сложных участков кода, которые могут быть трудными для понимания, тестирования и поддержки. Более высокая цифра цикломатической сложности обычно указывает на большую сложность кода.
👉@BookPython
Cтатический метод
В Python статический метод (
Чтобы определить статический метод в классе, используется декоратор
👉@BookPython
В Python статический метод (
staticmethod
). Он не требует доступа к атрибутам и методам экземпляра, и может быть вызван независимо от создания экземпляра класса. Статические методы могут использоваться, например, для выполнения операций, которые связаны с классом в целом, но не требуют доступа к данным экземпляра.Чтобы определить статический метод в классе, используется декоратор
👉@BookPython
Media is too big
VIEW IN TELEGRAM
Сыграем в "Жизнь"! Клеточный автомат на Python [ Pygame ]
В этом видео узнаете, как сделать игру на Python, под названием "Жизнь" ( Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году. Игру реализуем при помощи языка Python и библиотеки Pygame.
Код https://github.com/StanislavPetrovV/Python-Game-of-life
👉@BookPython
В этом видео узнаете, как сделать игру на Python, под названием "Жизнь" ( Conway's Game of Life) — клеточный автомат, придуманный английским математиком Джоном Конвеем в 1970 году. Игру реализуем при помощи языка Python и библиотеки Pygame.
Код https://github.com/StanislavPetrovV/Python-Game-of-life
👉@BookPython
Rich – библиотека Python для богатого(rich) текста и красивого форматирования в терминале.
Rich API позволяет легко добавлять цвет и стиль в вывод терминала. Rich также может отображать красивые таблицы, индикаторы выполнения, markdown, выделенный синтаксисом исходный код, трассировки и многое другое - из коробки.
https://github.com/Textualize/rich
👉@BookPython
Rich API позволяет легко добавлять цвет и стиль в вывод терминала. Rich также может отображать красивые таблицы, индикаторы выполнения, markdown, выделенный синтаксисом исходный код, трассировки и многое другое - из коробки.
https://github.com/Textualize/rich
👉@BookPython
Мега-Учебник Flask
Глава 1: Привет, мир!
Добро пожаловать! Вы собираетесь отправиться в путешествие, чтобы научиться создавать веб‑приложения с помощью Python и фреймворка Flask. В этой первой главе вы узнаете, как настроить проект Flask. К концу этой главы на вашем компьютере будет запущено простое веб‑приложение Flask!
https://habr.com/ru/articles/804245/
Глава 2: Шаблоны
После завершения главы 1 у вас должно получиться простое, но функциональное веб-приложение. Во второй части серии мега-учебника по Flask я собираюсь обсудить, как работать с шаблонами.
https://habr.com/ru/articles/804887/
Глава 3: Веб-формы
В главе 2 я создал простой шаблон для домашней страницы приложения и использовал поддельные объекты в качестве заполнителей для того, чего у меня еще нет, например, пользователей и записей в блоге. В этой главе я собираюсь устранить одно из многих недостатков, которые у меня все еще есть в этом приложении, в частности, как принимать входные данные от пользователей через веб-формы.
https://habr.com/ru/articles/805997/
Глава 4: База данных
Это четвертая часть серии мега-учебника по Flask, в которой я собираюсь рассказать вам, как работать с базами данных. Тема этой главы чрезвычайно важна. Для большинства приложений потребуется поддерживать постоянные данные, которые можно эффективно извлекать, и это именно то, для чего созданы базы данных.
https://habr.com/ru/articles/807371/
Глава 5: Логины пользователей
Это пятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать подсистему входа пользователей.
https://habr.com/ru/articles/808091/
Глава 6: Страница профиля и аватары
Это шестая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать страницу профиля пользователя.
https://habr.com/ru/articles/809411/
Глава 7: Обработка ошибок
Это седьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как выполнять обработку ошибок в приложении Flask.
https://habr.com/ru/articles/809743/
Глава 8: Подписчики
Это восьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как реализовать функцию "подписчики", аналогичную функции Twitter и других социальных сетей.
https://habr.com/ru/articles/811791/
Глава 9: Разбивка на страницы
Это девятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как разбивать списки записей базы данных на страницы.
https://habr.com/ru/articles/815427/
Глава 10: Поддержка электронной почты
Это десятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как ваше приложение может отправлять электронные письма вашим пользователям и как встроить функцию восстановления пароля благодаря поддержки электронной почты.
https://habr.com/ru/articles/815623/
Глава 11: Дизайн приложения
Это одиннадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как заменить базовые HTML-шаблоны новым набором, основанным на платформе пользовательского интерфейса Bootstrap.
https://habr.com/ru/articles/816603/
Глава 12: Дата и время
Это двенадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как работать с датами и временем таким образом, чтобы это работало для всех ваших пользователей, независимо от того, где они проживают.
https://habr.com/ru/articles/817289/
Глава 13: I18n и L10n
Это тринадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как расширить Microblog для поддержки нескольких языков. В рамках этой работы вы также узнаете о создании собственных расширений CLI для команды flask.
https://habr.com/ru/articles/817369/
Глава 14: Ajax
Это четырнадцатая часть серии мега-учебника Flask, в которой я собираюсь добавить функцию перевода на живой язык, используя службу переводов Microsoft и немного JavaScript.
https://habr.com/ru/articles/818001/
👉@BookPython
Глава 1: Привет, мир!
Добро пожаловать! Вы собираетесь отправиться в путешествие, чтобы научиться создавать веб‑приложения с помощью Python и фреймворка Flask. В этой первой главе вы узнаете, как настроить проект Flask. К концу этой главы на вашем компьютере будет запущено простое веб‑приложение Flask!
https://habr.com/ru/articles/804245/
Глава 2: Шаблоны
После завершения главы 1 у вас должно получиться простое, но функциональное веб-приложение. Во второй части серии мега-учебника по Flask я собираюсь обсудить, как работать с шаблонами.
https://habr.com/ru/articles/804887/
Глава 3: Веб-формы
В главе 2 я создал простой шаблон для домашней страницы приложения и использовал поддельные объекты в качестве заполнителей для того, чего у меня еще нет, например, пользователей и записей в блоге. В этой главе я собираюсь устранить одно из многих недостатков, которые у меня все еще есть в этом приложении, в частности, как принимать входные данные от пользователей через веб-формы.
https://habr.com/ru/articles/805997/
Глава 4: База данных
Это четвертая часть серии мега-учебника по Flask, в которой я собираюсь рассказать вам, как работать с базами данных. Тема этой главы чрезвычайно важна. Для большинства приложений потребуется поддерживать постоянные данные, которые можно эффективно извлекать, и это именно то, для чего созданы базы данных.
https://habr.com/ru/articles/807371/
Глава 5: Логины пользователей
Это пятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать подсистему входа пользователей.
https://habr.com/ru/articles/808091/
Глава 6: Страница профиля и аватары
Это шестая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как создать страницу профиля пользователя.
https://habr.com/ru/articles/809411/
Глава 7: Обработка ошибок
Это седьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как выполнять обработку ошибок в приложении Flask.
https://habr.com/ru/articles/809743/
Глава 8: Подписчики
Это восьмая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как реализовать функцию "подписчики", аналогичную функции Twitter и других социальных сетей.
https://habr.com/ru/articles/811791/
Глава 9: Разбивка на страницы
Это девятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как разбивать списки записей базы данных на страницы.
https://habr.com/ru/articles/815427/
Глава 10: Поддержка электронной почты
Это десятая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как ваше приложение может отправлять электронные письма вашим пользователям и как встроить функцию восстановления пароля благодаря поддержки электронной почты.
https://habr.com/ru/articles/815623/
Глава 11: Дизайн приложения
Это одиннадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как заменить базовые HTML-шаблоны новым набором, основанным на платформе пользовательского интерфейса Bootstrap.
https://habr.com/ru/articles/816603/
Глава 12: Дата и время
Это двенадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как работать с датами и временем таким образом, чтобы это работало для всех ваших пользователей, независимо от того, где они проживают.
https://habr.com/ru/articles/817289/
Глава 13: I18n и L10n
Это тринадцатая часть серии мега-учебника Flask, в которой я собираюсь рассказать вам, как расширить Microblog для поддержки нескольких языков. В рамках этой работы вы также узнаете о создании собственных расширений CLI для команды flask.
https://habr.com/ru/articles/817369/
Глава 14: Ajax
Это четырнадцатая часть серии мега-учебника Flask, в которой я собираюсь добавить функцию перевода на живой язык, используя службу переводов Microsoft и немного JavaScript.
https://habr.com/ru/articles/818001/
👉@BookPython
Что такое исключения и как их обрабатывать в Python
Исключения в Python – это события, возникающие во время выполнения программы, которые могут привести к ошибкам или аномальному завершению программы. Они обычно возникают из-за некорректного кода или непредвиденных ситуаций, таких как деление на ноль, доступ к несуществующему файлу или использование неопределенной переменной.
Обработка исключений в Python осуществляется с помощью блоков
Пример использования блоков try и except
В данном примере, код внутри блока try приводит к исключению ZeroDivisionError, так как происходит попытка деления на ноль. Блок except обрабатывает это исключение, устанавливая значение переменной x равным 0 и выводя информационное сообщение.
Обработка нескольких исключений
Блок except может обрабатывать несколько типов исключений сразу. Для этого нужно перечислить их в скобках через запятую.
Использование блока finally
Блок finally используется для выполнения кода, который должен быть выполнен в любом случае, независимо от того, возникло исключение или нет. Этот блок должен быть размещен после блоков except.
Создание собственных исключений
Вы можете создавать собственные исключения, наследуя их от базовых классов исключений Python, таких как Exception или BaseException.
Обрабатывая исключения в Python, вы можете сделать свои программы более надежными и устойчивыми к ошибкам. Не забывайте тестировать свой код и применять блоки try, except и finally для обработки возможных исключений.
👉@BookPython
Исключения в Python – это события, возникающие во время выполнения программы, которые могут привести к ошибкам или аномальному завершению программы. Они обычно возникают из-за некорректного кода или непредвиденных ситуаций, таких как деление на ноль, доступ к несуществующему файлу или использование неопределенной переменной.
Обработка исключений в Python осуществляется с помощью блоков
try
и except
. Если код внутри блока try
вызывает исключение, выполнение переходит к соответствующему блоку except, где можно обработать исключение и продолжить выполнение программы.Пример использования блоков try и except
try:
x = 10 / 0
except ZeroDivisionError:
x = 0
print("Деление на ноль! Установлено значение x равное 0.")
В данном примере, код внутри блока try приводит к исключению ZeroDivisionError, так как происходит попытка деления на ноль. Блок except обрабатывает это исключение, устанавливая значение переменной x равным 0 и выводя информационное сообщение.
Обработка нескольких исключений
Блок except может обрабатывать несколько типов исключений сразу. Для этого нужно перечислить их в скобках через запятую.
try:
# код, который может вызвать исключение
except (TypeError, ValueError):
# обработка исключений типов TypeError и ValueError
Использование блока finally
Блок finally используется для выполнения кода, который должен быть выполнен в любом случае, независимо от того, возникло исключение или нет. Этот блок должен быть размещен после блоков except.
try:
# код, который может вызвать исключение
except SomeException:
# обработка исключения
finally:
# этот код будет выполнен в любом случае
Создание собственных исключений
Вы можете создавать собственные исключения, наследуя их от базовых классов исключений Python, таких как Exception или BaseException.
class MyCustomException(Exception):
pass
try:
raise MyCustomException("Это мое собственное исключение!")
except MyCustomException as e:
print(f"Обработано исключение: {e}")
Обрабатывая исключения в Python, вы можете сделать свои программы более надежными и устойчивыми к ошибкам. Не забывайте тестировать свой код и применять блоки try, except и finally для обработки возможных исключений.
👉@BookPython
Узнаем время года с помощью Python
Для определения времени года можно использовать текущий месяц и сопоставить его с нужным временем года.
В этом примере мы используем модуль
👉@BookPython
Для определения времени года можно использовать текущий месяц и сопоставить его с нужным временем года.
В этом примере мы используем модуль
datetime
для получения текущей даты и времени. Затем мы сравниваем текущий месяц с нужными месяцами для каждого времени года и определяем соответствующий сезон.👉@BookPython
✔️ Освоить фреймворк Django, который упрощает и ускоряет работу над веб-приложениями со сложной логикой.
✔️ Изучить фронтенд-разработку на Vue.js.
✔️ Научиться реализовывать и поддерживать проекты с рендерингом на стороне сервера, а также работать с API.
Старт уже 26 июня!
Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
Please open Telegram to view this post
VIEW IN TELEGRAM
Что значит *args, **kwargs? И зачем нам их использовать?
Мы используем
👉@BookPython
Мы используем
*args
, когда не уверены, сколько аргументов будет передано функции, или если хотим передать сохраненный список или кортеж аргументов функции.**kwargs
используется, когда мы не знаем, сколько аргументов ключевых слов будет передано, а также он может быть использован для передачи значений словаря в качестве аргументов ключевых слов. Идентификаторы args и kwargs необязательны, вы можете изменить их на другие, типа *другой **пример, но лучше использовать имя по умолчанию.👉@BookPython
Совет: разделите уровень доступа к данным, используя паттерн "Репозиторий" 🚀.
Этот паттерн позволяет нам легко менять бэкэнд (БД, текстовый файл, CSV и т.д.), уменьшая жесткую связь и повышая гибкость. 💡 📈
#Python пример ниже с использованием sqlmodel + csv:
👉@BookPython
Этот паттерн позволяет нам легко менять бэкэнд (БД, текстовый файл, CSV и т.д.), уменьшая жесткую связь и повышая гибкость. 💡 📈
#Python пример ниже с использованием sqlmodel + csv:
👉@BookPython
Способы возведения в степень в Python
В Дзене Python есть принцип, согласно которому "должен существовать один и желательно только один очевидный способ сделать это". Однако в Python есть как минимум три способа возведения числа в степень:
⚫️ оператор **
⚫️ встроенная функция pow()
⚫️ функция math.pow()
В этой статье мы рассмотрим каждый из способов и разберемся, чем они отличаются.
https://habr.com/ru/articles/823438/
👉@BookPython
В Дзене Python есть принцип, согласно которому "должен существовать один и желательно только один очевидный способ сделать это". Однако в Python есть как минимум три способа возведения числа в степень:
В этой статье мы рассмотрим каждый из способов и разберемся, чем они отличаются.
https://habr.com/ru/articles/823438/
👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM