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
Модуль pathlib в Python замечательный, но есть одна особенность pathlib, на которой я часто спотыкаюсь.
Нужен абсолютный путь?
Не используйте метод
👉@BookPython
Нужен абсолютный путь?
Не используйте метод
absolute
:>>> Path("..").absolute()
PosixPath('/home/trey/..')
Use the resolve method:
>>> Path("..").resolve()
PosixPath('/home')
👉@BookPython
Совет по Python💡
С помощью "
👉@BookPython
С помощью "
pathlib
" вы можете получить доступ к различным частям пути, таким как имя файла, расширение и родительский каталог. Это позволяет легко манипулировать и анализировать пути к файлам.👉@BookPython
Создание и обработка Excel файлов с использованием Python
Всем привет! Работа с Excel файлами — одна из частых задач, встречающихся в повседневной разработке. В этой статье рассмотрим, как с помощью Python можно создавать, заполнять, и стилизовать Excel файлы. Для этого мы будем использовать библиотеки pandas, openpyxl и faker (для тестов).
Для начала установим библиотеки:
https://habr.com/ru/articles/824050/
👉@BookPython
Всем привет! Работа с Excel файлами — одна из частых задач, встречающихся в повседневной разработке. В этой статье рассмотрим, как с помощью Python можно создавать, заполнять, и стилизовать Excel файлы. Для этого мы будем использовать библиотеки pandas, openpyxl и faker (для тестов).
Для начала установим библиотеки:
pip install pandas xlsxwriter openpyxl faker
https://habr.com/ru/articles/824050/
👉@BookPython
Совет по Python💡
Знаете ли вы, что они могут не только выводить значения переменных?
Например, в них можно выполнить выражение или вызвать функцию.
👉@BookPython
f-строки
- самый популярный способ форматирования строк. Знаете ли вы, что они могут не только выводить значения переменных?
Например, в них можно выполнить выражение или вызвать функцию.
👉@BookPython
Регулярные выражения в Python от простого к сложному. Подробности, примеры, картинки, упражнения
Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.
Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.
Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
PS. Решения задач школьники сдают в тестирующую систему, поэтому задачи оформлены в несколько формальном виде.
https://habr.com/ru/articles/349860/
👉@BookPython
Решил я давеча моим школьникам дать задачек на регулярные выражения для изучения. А к задачкам нужна какая-нибудь теория. И стал я искать хорошие тексты на русском. Пяток сносных нашёл, но всё не то. Что-то смято, что-то упущено. У этих текстов был не только фатальный недостаток. Мало картинок, мало примеров. И почти нет разумных задач. Ну неужели поиск IP-адреса — это самая частая задача для регулярных выражений? Вот и я думаю, что нет.
Про разницу (?:...) / (...) фиг найдёшь, а без этого знания в некоторых случаях можно только страдать.
Плюс в питоне есть немало регулярных плюшек. Например, re.split может добавлять тот кусок текста, по которому был разрез, в список частей. А в re.sub можно вместо шаблона для замены передать функцию. Это — реальные вещи, которые прямо очень нужны, но никто про это не пишет.
Так и родился этот достаточно многобуквенный материал с подробностями, тонкостями, картинками и задачами.
Надеюсь, вам удастся из него извлечь что-нибудь новое и полезное, даже если вы уже в ладах с регулярками.
PS. Решения задач школьники сдают в тестирующую систему, поэтому задачи оформлены в несколько формальном виде.
https://habr.com/ru/articles/349860/
👉@BookPython
Иногда Pytest поражает меня.
TIL pytest позволяет очень просто добавить что-то в переменную окружения
👉@BookPython
TIL pytest позволяет очень просто добавить что-то в переменную окружения
PATH
для теста:👉@BookPython
Хендбук по Python поможет овладеть основным синтаксисом и принципами языка. Для этого не потребуется специальной подготовки — достаточно знаний по информатике, логике и математике на уровне школьной программы. Кроме основных конструкций в учебнике рассмотрены разные подходы к программированию, реализованные на Python. А в последней главе вы прикоснётесь к главной суперсиле языка — большому количеству прикладных библиотек.
https://education.yandex.ru/handbook/python
👉@BookPython
Please open Telegram to view this post
VIEW IN TELEGRAM
Совет по Python💡
Не используйте
В итоге вы получите десятки зависимостей, которые вы специально не устанавливали и не знаете, что они делают.
Вместо этого добавьте требование вручную в файл
Сравните их ☝️
👉@BookPython
Не используйте
pip freeze > requirements.txt.
В итоге вы получите десятки зависимостей, которые вы специально не устанавливали и не знаете, что они делают.
Вместо этого добавьте требование вручную в файл
requirements.txt.
Сравните их ☝️
👉@BookPython
Совет по Python💡
В файле "
Установите "
👉@BookPython
В файле "
pathlib.mkdir()
" задайте "parents=True
", чтобы создать все необходимые промежуточные каталоги. Установите "
exist_ok=True
", чтобы избежать ошибки, если каталог уже существует.👉@BookPython