Python Learning
34.6K subscribers
1.91K photos
8 videos
7 files
914 links
№ 4974297878

Обучающий канал по Python

Ссылка для друга - https://yangx.top/+I7jrAQKR5xAyYTAy

По всем вопросам @mascarov_valentin

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
➡️ Использование библиотеки Arrow для работы с датами и временем в Python

Arrow — это библиотека для более удобной работы с датами и временем в Python. Она предоставляет простой API для создания, преобразования и форматирования объектов datetime, упрощая работу с временными зонами и временем выполнения задач.

Arrow поддерживает естественные синтаксические конструкции и форматирование дат, а также имеет встроенные функции для манипуляции временем.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥4🔥1🍾1
⚙️ any()

В Python функция any() проверяет, есть ли хотя бы один истинный элемент в итерируемом объекте. Она отлично подходит для быстрых проверок наличия условий, например, поиска элементов в списке.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍30
👩‍💻 Задача по Python

Создайте функцию find_longest_substring для поиска самой длинной подстроки в строке, содержащей уникальные символы. Функция должна возвращать длину этой подстроки.

Пример:

print(find_longest_substring("abcabcbb"))  # Вернёт 3, т.к. самая длинная уникальная подстрока "abc"
print(find_longest_substring("bbbbb")) # Вернёт 1, т.к. самая длинная уникальная подстрока "b"
print(find_longest_substring("pwwkew")) # Вернёт 3, т.к. самая длинная уникальная подстрока


Решение задачи на картинке

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16👨‍💻6❤‍🔥1🔥1
Срезы

Срезы (slices) в Python — это способ получения подстроки (подсписка) из последовательности, такой как строка (str), список (list) или кортеж (tuple).

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍35
Вопрос на собеседовании

Как в Python работает метод __call__() и когда его имеет смысл использовать?

Ответ ⬇️
Метод __call__() позволяет сделать объект вызываемым, то есть, работать с ним как с функцией. Этот метод можно добавить в любой класс, чтобы экземпляр класса можно было вызвать напрямую. Это полезно, когда класс выполняет одну основную задачу и может быть использован как замена функции, сохраняя при этом внутреннее состояние и структуру.

Пример использования ⚙️
class Multiplier:
def __init__(self, factor):
self.factor = factor

def __call__(self, value):
return value * self.factor

double = Multiplier(2)
print(double(5)) # 10
print(double(8)) # 16


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27💯4🆒2
Что будет выведено при выполнении кода?

Пояснение
⬇️
Без передачи b функция использует b = a + 1, поэтому x = 3 * 4 = 12. С b=5 функция увеличивает b на 2, давая y = 3 * 7 = 21.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17
Ответ:
Anonymous Quiz
11%
12 15
6%
9 18
81%
12 21
2%
15 9
👍13🔥3😱1
⚙️ all()

В Python функция all() проверяет, соответствуют ли все элементы условию (истинны). Отличный способ убедиться, что все значения удовлетворяют требованиям.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍32❤‍🔥7🍾3👨‍💻1
➡️ LiteLLM — использование любого LLM с использованием OpenAI и многое другое

LiteLLM – инструмент для гибкого и лёгкого управления LLM в Python. С ним можно быстро переключаться между моделями, контролировать затраты, интегрировать API без изменений кода и оптимизировать производительность через балансировку нагрузки.

Поддержка единого формата для всех LLM, что упрощает интеграцию.
Возможность управления расходами и ограничения скорости запросов для предотвращения перегрузок.

🔗 Ссылочка на доку

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15🔥2🤔1
🧠Узнаем сколько раз встречается каждая буква в предложении

Код представлен на картинке.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤‍🔥9🔥4🎉2😢1
⚙️ filter()

В Python функция filter() используется для отбора элементов, соответствующих условию. Она возвращает итератор, что делает её удобной и эффективной для обработки больших данных.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍31❤‍🔥3🍾3
Что будет выведено при выполнении кода?

Пояснение
⬇️
Функция make_multiplier возвращает лямбду, которая замыкает n. doubler умножает на 2, а tripler — на 3, поэтому результат 10 и 15.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19🤔5
Ответ:
Anonymous Quiz
6%
5 15
86%
10 15
6%
15 15
2%
10 10
👍15
✍️ Циклический сдвиг списка на N элементов вправо

Выше приведено решение с помощью слайсов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤‍🔥8🏆5
Соединение списка и множества в словарь

Для создания словаря из списков и множеств нужно сначала объединить элементы в кортежи при помощи функции zip(), а затем создать словарь из этих кортежей при помощи функции dict().

fruit_prices будет содержать словарь {'apple': 1.20, 'banana': 0.80, 'orange': 1.50}.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33🍾7❤‍🔥4
⚙️ itertools.combinations()

В Python функция itertools.combinations() генерирует все возможные комбинации элементов заданной длины из итерируемого объекта. Это полезно для задач, связанных с перебором подмножеств.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥21👍7
⚙️ itertools.product()

В Python функция itertools.product() генерирует декартово произведение нескольких итерируемых объектов, что удобно для перебора всех комбинаций элементов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
❤‍🔥13👍12🍾4
Вопрос на собеседовании

Как работает метод @property в Python, и почему он считается полезным для инкапсуляции?

Ответ ⬇️
@property в Python позволяет создавать методы, которые можно вызывать как атрибуты. Это удобно для инкапсуляции и контроля над доступом к данным, позволяя нам реализовать "геттеры" и "сеттеры" в виде атрибутов, вместо прямого изменения переменных. @property можно использовать для вычисляемых значений или для валидации перед присвоением, сохраняя при этом простой синтаксис атрибутов.

Пример использования ⚙️
class Circle:
def __init__(self, radius):
self._radius = radius

@property
def radius(self):
return self._radius

@radius.setter
def radius(self, value):
if value < 0:
raise ValueError("Радиус не может быть отрицательным")
self._radius = value

circle = Circle(5)
print(circle.radius) # 5
circle.radius = 10
print(circle.radius) # 10
circle.radius = -1 # Ошибка: ValueError


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥3
⚙️ __del__

В Python метод __del__ служит деструктором, который вызывается при уничтожении объекта. Он позволяет выполнять завершающие действия, такие как освобождение ресурсов или запись логов, перед тем как объект будет удалён сборщиком мусора.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍25🆒1
⚙️ contextlib.redirect_stdout

Функция contextlib.redirect_stdout в Python временно перенаправляет вывод print() и других операций записи. Полезно, когда нужно записать вывод в файл или перехватить его для дальнейшей обработки.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥3
Что будет выведено при выполнении кода?

Пояснение
⬇️
В inner переменная x обозначена как nonlocal, поэтому изменение внутри inner влияет на x в outer, и функция возвращает local nonlocal.

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🗿16👍9