Хардкорный курс по математике для тех, кто правда любит математику!
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
⚡️ Переходите и начинайте учиться уже сегодня – https://proglib.io/w/adbf54d6
Начать с вводных занятий можно здесь, ответив всего на 4 вопроса – https://proglib.io/w/adbf54d6
Что вас ждет:
– Вводный урок от CPO курса
– Лекции с преподавателями ВМК МГУ по темам: теория множеств, непрерывность функции, основные формулы комбинаторики, матрицы и операции над ними, градиентный спуск
– Практические задания для закрепления материала и ссылки на дополнительные материалы.
Please open Telegram to view this post
VIEW IN TELEGRAM
Принцип открытости/закрытости (OCP)
Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.
Иными словами код должен быть легко расширяемым для добавления новых функций или поведения. Существующий код не должен меняться при добавлении новых функций.
Принцип открытости/закрытости (OCP) — один из основополагающих принципов объектно-ориентированного программирования (ООП), сформулированный Бертраном Мейером. Он гласит: Программные сущности (классы, модули, функции и т. п.) должны быть открыты для расширения, но закрыты для изменения.
Иными словами код должен быть легко расширяемым для добавления новых функций или поведения. Существующий код не должен меняться при добавлении новых функций.
Функция math.gcd()
Функция math.gcd() используется для вычисления наибольшего общего делителя (НОД) двух целых чисел. НОД — это наибольшее число, которое является делителем обоих чисел.
Синтаксис:
math.gcd(a, b)
Аргументы:
a: первое целое число
b: второе целое число
Возвращаемое значение:
целое число, являющееся НОД a и b
Функция math.gcd() используется для вычисления наибольшего общего делителя (НОД) двух целых чисел. НОД — это наибольшее число, которое является делителем обоих чисел.
Синтаксис:
math.gcd(a, b)
Аргументы:
a: первое целое число
b: второе целое число
Возвращаемое значение:
целое число, являющееся НОД a и b
Forwarded from Библиотека питониста | Python, Django, Flask
У нас есть еженедельная рассылка о последних открытиях и тенденциях в мире Python. Мы опубликовали один из свежих выпусков на
Ниже — небольшая подборка, а целиком читайте здесь 👈
🔎 Поисковик на 80 строках кода
Публикация рассказывает, как сделать базовую поисковую систему буквально на 80 строках Python-кода. Автор реализовал все основные компоненты поисковика: краулер, инвертированный индекс, ранжировщик и интерфейс.
▪️Web2PDF – CLI-инструмент для конвертации веб-страниц (по URL) в PDF-файлы.
▪️Rexi – инструмент для работы с регулярными выражениями в терминале.
▪️Django HTMX Components – набор готовых компонентов, которые можно скопировать и вставить в Django-приложение.
🕹 Управление зависимостями
Туториал, который рассказывает, как начать пользоваться Poetry.
🔥 Интересные проекты
▪️«Гарри Поттер и движок Elasticsearch» — это семантическая поисковая система на основе векторной базы данных с информацией о вселенной Гарри Поттера.
▪️Чат-бот, имитирующий стиль Эминема.
Please open Telegram to view this post
VIEW IN TELEGRAM
Forwarded from Библиотека питониста | Python, Django, Flask
🐍⛓ Цепи Маркова: генерирование читабельной бессмыслицы за 20 строк на Python
В новой статье научимся генерировать осмысленные, но в то же время абсурдные фразы и предложения с помощью цепи Маркова.
🔗 Читать статью
🔗 Зеркало
В новой статье научимся генерировать осмысленные, но в то же время абсурдные фразы и предложения с помощью цепи Маркова.
🔗 Читать статью
🔗 Зеркало
Функция uniform()
Функция uniform() из модуля random в Python используется для генерации случайных чисел с плавающей запятой в заданном диапазоне.
Синтаксис:
random.uniform(a, b)
Аргументы:
a: (обязательный) Нижняя граница диапазона.
b: (обязательный) Верхняя граница диапазона.
Возвращаемое значение:
Случайное число с плавающей запятой, равномерно распределенное в диапазоне [a, b].
Функция uniform() из модуля random в Python используется для генерации случайных чисел с плавающей запятой в заданном диапазоне.
Синтаксис:
random.uniform(a, b)
Аргументы:
a: (обязательный) Нижняя граница диапазона.
b: (обязательный) Верхняя граница диапазона.
Возвращаемое значение:
Случайное число с плавающей запятой, равномерно распределенное в диапазоне [a, b].
Функция groupby()
Функция groupby() из модуля itertools в Python используется для группировки элементов итератора по значению ключа. Она применяется к итератору (списку, кортежу, строке) и возвращает объект groupby, который представляет собой итератор по группам.
Синтаксис:
groupby(iterable, key=None)
Аргументы:
iterable: Итерируемый объект, который нужно сгруппировать.
key: Функция, которая извлекает ключ из каждого элемента итератора. По умолчанию используется функция lambda x: x, которая возвращает сам элемент.
Функция groupby() из модуля itertools в Python используется для группировки элементов итератора по значению ключа. Она применяется к итератору (списку, кортежу, строке) и возвращает объект groupby, который представляет собой итератор по группам.
Синтаксис:
groupby(iterable, key=None)
Аргументы:
iterable: Итерируемый объект, который нужно сгруппировать.
key: Функция, которая извлекает ключ из каждого элемента итератора. По умолчанию используется функция lambda x: x, которая возвращает сам элемент.
Декоратор lru_cache()
Декоратор lru_cache() из модуля functools в Python используется для мемоизации функций, то есть для кэширования результатов их вычислений. Это может значительно повысить производительность кода, если функция выполняет вычисления, которые требуют много времени.
Как работает lru_cache():
Декоратор lru_cache() работает по алгоритму LRU (Least Recently Used), что означает, что он кэширует последние maxsize результатов вычислений функции.
Декоратор lru_cache() из модуля functools в Python используется для мемоизации функций, то есть для кэширования результатов их вычислений. Это может значительно повысить производительность кода, если функция выполняет вычисления, которые требуют много времени.
Как работает lru_cache():
Декоратор lru_cache() работает по алгоритму LRU (Least Recently Used), что означает, что он кэширует последние maxsize результатов вычислений функции.
Функция tell()
Функция tell() используется для получения текущей позиции указателя в потоке данных. Она применяется чаще всего при работе с файлами, но также может использоваться с другими типами потоков, например, сокетами или консольным вводом.
Возвращаемое значение: целое число, указывающее положение указателя в байтах от начала потока.
Аргументы: tell() не принимает никаких аргументов.
Функция tell() используется для получения текущей позиции указателя в потоке данных. Она применяется чаще всего при работе с файлами, но также может использоваться с другими типами потоков, например, сокетами или консольным вводом.
Возвращаемое значение: целое число, указывающее положение указателя в байтах от начала потока.
Аргументы: tell() не принимает никаких аргументов.
🐍 У нас есть еженедельная email-рассылка, посвященная последним открытиям и тенденциям в мире Python.
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
В ней:
● Новые возможности в последних версиях Python
● Работа с базами данных и SQL в Python
● Веб-разработка на Django и Flask
● Машинное обучение и анализ данных с помощью Python
● Автоматизация и работа с API на Python
● Тестирование и отладка кода на Python
● Задачи для новичков с решениями
👉Подписаться👈
Функция reload()
Функция reload() в Python перезагружает ранее импортированный модуль. Это означает, что код модуля выполняется заново, и любые изменения в модуле становятся доступными.
Функция reload() принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.
Функция reload() в Python перезагружает ранее импортированный модуль. Это означает, что код модуля выполняется заново, и любые изменения в модуле становятся доступными.
Функция reload() принимает в качестве аргумента объект модуля. Этот объект должен быть ранее импортированным модулем.
Обработчик ошибок в Flask
В Flask вы можете использовать обработчики ошибок для обработки различных видов ошибок, которые могут возникнуть в вашем веб-приложении. Обработчики ошибок позволяют вам красиво представлять ошибки пользователю, а также выполнять дополнительные действия, такие как запись журналов или отправка уведомлений об ошибке. Flask предоставляет декораторы для создания обработчиков ошибок.
На картинке пример обработчика ошибки 404 (Not Found).
В Flask вы можете использовать обработчики ошибок для обработки различных видов ошибок, которые могут возникнуть в вашем веб-приложении. Обработчики ошибок позволяют вам красиво представлять ошибки пользователю, а также выполнять дополнительные действия, такие как запись журналов или отправка уведомлений об ошибке. Flask предоставляет декораторы для создания обработчиков ошибок.
На картинке пример обработчика ошибки 404 (Not Found).
Задача
Напишите функцию Python, чтобы найти отличную пару чисел, произведение которых нечетно из последовательности целочисленных значений.
Напишите функцию Python, чтобы найти отличную пару чисел, произведение которых нечетно из последовательности целочисленных значений.
Принцип разделения интерфейса (ISP)
ISP (Interface Segregation Principle) — один из принципов SOLID, который гласит: «Клиенты не должны зависеть от интерфейсов, которые они не используют».
Другими словами, вместо создания общих интерфейсов следует создавать специфические интерфейсы, предназначенные для конкретных клиентов. Интерфейсы должны быть максимально сплоченными, то есть все методы интерфейса должны быть тесно связаны между собой и решать одну задачу.
ISP (Interface Segregation Principle) — один из принципов SOLID, который гласит: «Клиенты не должны зависеть от интерфейсов, которые они не используют».
Другими словами, вместо создания общих интерфейсов следует создавать специфические интерфейсы, предназначенные для конкретных клиентов. Интерфейсы должны быть максимально сплоченными, то есть все методы интерфейса должны быть тесно связаны между собой и решать одну задачу.
Усыпляем программу
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.
Иногда возникает необходимость остановить выполнение программы, чтобы можно было выполнить несколько других операций, или просто из-за требуемой утилиты. В такой ситуации может пригодиться функция sleep(), которая обеспечивает точный и гибкий способ остановки потока кода на любой период времени.
В нашем примере время начала и время окончания будут напечатаны с задержкой в 6 секунд.