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

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
加入频道
➡️ Использование функции functools.cache для кэширования результатов

functools.cache — это полезный инструмент для кэширования результатов функций, что позволяет существенно ускорить выполнение программы при многократных вызовах с одинаковыми аргументами. Кэширование помогает избежать повторных вычислений, особенно в случае дорогостоящих операций.

🗣 Это полезно при работе с рекурсивными функциями или задачами, которые требуют повторяющихся вычислений.

✔️ Отличное решение для оптимизации кода и повышения производительности.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤‍🔥5🏆3
➡️ Использование библиотеки EdgeDB для работы с базами данных на Python

EdgeDB — это база данных и клиентская библиотека для Python, которая предлагает более современный и удобный подход к управлению схемами и запросами по сравнению с традиционными SQL базами данных.

Она поддерживает реляционные данные, но при этом использует запросы в стиле графов и обеспечивает автоматическое управление схемами.

EdgeDB — отличный выбор для тех, кто хочет работать с базами данных, избегая сложности традиционного SQL и улучшая удобство работы с данными.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥4🎉2
➡️ Использование модуля zoneinfo для работы с временными зонами в Python

Модуль zoneinfo, добавленный в Python 3.9, позволяет работать с временными зонами, используя базу данных IANA.

🗣 Это полезно для приложений, которые работают с пользователями из разных часовых поясов или управляют расписаниями событий.

✔️ Отличное решение для точного управления датами и временем с учётом локальных особенностей.


Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥4🏆3
➡️ Использование библиотеки fastjsonschema для валидации JSON-схем в Python

fastjsonschema — это новая библиотека, выпущенная в 2024 году, которая обеспечивает высокопроизводительную валидацию JSON-документов на основе схем.

Она значительно быстрее большинства аналогов, таких как jsonschema, и идеально подходит для проектов, где критична скорость обработки данных.

fastjsonschema — отличный выбор для тех, кому важна производительность при работе с JSON-схемами.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10❤‍🔥2🏆2🥰1
Вопрос на собеседовании

Как работают дескрипторы в Python и в каких случаях их полезно использовать?

Ответ ⬇️
Дескриптор — это класс, который реализует методы доступа __get__, __set__ и/или __delete__. Дескрипторы полезны для создания управляемых атрибутов, например, для валидации или кэширования данных.

Пример использования ⚙️
class Descriptor:
def __get__(self, instance, owner):
return instance._value

def __set__(self, instance, value):
if value < 0:
raise ValueError("Значение должно быть положительным!")
instance._value = value

class MyClass:
value = Descriptor()

def __init__(self, value):
self.value = value

obj = MyClass(10)
print(obj.value) # 10
obj.value = -5 # Ошибка: Значение должно быть положительным!


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🏆4❤‍🔥3
Очистка элементов в последовательности

Иногда возникает необходимость в удалении ненужных объектов последовательности. Для этого используют itertools, а именно метод compress.

Первым аргументом передаётся контейнер, к примеру список. Вторым аргументом — логические значения, соответствующие элементам в контейнере.

Если логическое значение равно True или 1, то элемент остаётся в последовательности, иначе — удаляется из нее.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤‍🔥7🏆3
➡️ Использование библиотеки pynecone для создания веб-приложений на Python

pynecone — это библиотека, которая позволяет легко создавать интерактивные веб-приложения с использованием только Python.

Она упрощает процесс разработки, устраняя необходимость в написании JavaScript, HTML или CSS. Все веб-элементы и взаимодействия описываются непосредственно на Python.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥12🥰4
➡️ В чем разница между итераторами и генераторами в Python?

Итераторы — это объекты, которые реализуют методы __iter__() и __next__().

Генераторы — это особый вид итераторов, создаваемых с помощью функций с ключевым словом yield, позволяющие ленивую генерацию значений по одному.

✔️ Генераторы позволяют экономить память, так как значения вычисляются по мере необходимости.

🔗 Почитать подробнее

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤‍🔥3🎉2
➡️ Изменение регистра строк в Python: capitalize, camelCase, snake_case, и kebab-case

Модуль преобразования строк предлагает удобные функции для изменения регистра текста. Вы можете использовать capitalize, чтобы сделать первую букву заглавной, а также преобразовывать строки в форматы camelCase, snake_case, и kebab-case для различных стилей.

✔️ Эта функция полезна для работы с именами переменных, API или форматами данных.

🔗 Почитать подробнее

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

Как работают менеджеры контекста в Python, и в каких случаях их полезно использовать?

Ответ ⬇️
Менеджеры контекста в Python используются для управления ресурсами, такими как файлы, сетевые подключения или блокировки, с автоматическим освобождением этих ресурсов по завершении работы. Основное их применение — в тех случаях, когда требуется гарантированное освобождение ресурсов, даже в случае возникновения ошибок. Менеджеры контекста создаются с помощью ключевого слова with, которое автоматически вызывает методы __enter__ и __exit__ у объекта.

Пример использования ⚙️
# Пример менеджера контекста для работы с файлами
with open('example.txt', 'w') as file:
file.write('Hello, world!')

# Файл автоматически закроется после выхода из блока 'with', даже если возникнет ошибка


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤‍🔥3🎉3
os.rename()

В Python функция os.rename() используется для переименования файла или директории в операционной системе. Она входит в модуль os.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
➡️ Использование библиотеки UMAP для снижения размерности данных в Python

UMAP (Uniform Manifold Approximation and Projection) — это библиотека для снижения размерности, которая используется для визуализации и анализа сложных многомерных данных. Она позволяет эффективно проектировать данные на низкоразмерное пространство, сохраняя при этом основные структуры данных.

UMAP часто используется в задачах кластеризации и визуализации высокоразмерных данных, например, в Data Science.

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥4🏆2
➡️ Использование библиотеки PyTTI для генеративного искусства с использованием нейронных сетей

PyTTI — это необычная библиотека, которая позволяет создавать произведения искусства с помощью нейронных сетей. Она применяет текстурные трансформации и использует модели машинного обучения для генерации изображений, основанных на текстовых описаниях или других данных.

PyTTI подходит для экспериментов с искусственным интеллектом в области генерации изображений и видео.

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

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

Как в Python работают функции с переменным количеством аргументов (*args и **kwargs), и как это можно использовать для создания гибких функций?

Ответ ⬇️
Функции с *args принимают произвольное количество позиционных аргументов, а с **kwargs — именованных аргументов. Это позволяет передавать любое количество значений и делать интерфейс функций более гибким. *args упаковывает аргументы в кортеж, а **kwargs — в словарь.

Пример использования ⚙️
def demo_func(*args, **kwargs):
print("Позиционные аргументы:", args)
print("Именованные аргументы:", kwargs)

demo_func(1, 2, 3, name="Alice", age=25)
# Позиционные аргументы: (1, 2, 3)
# Именованные аргументы: {'name': 'Alice', 'age': 25}


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤‍🔥5🍾5
⚙️ enumerate()

Когда тебе нужно итерировать по списку с доступом к индексу элемента, используй enumerate(). Эта встроенная функция возвращает и индекс, и сам элемент в одном цикле, что удобно и лаконично.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥2🆒1
➡️ Разница между list.sort() и sorted() в Python

list.sort() сортирует список на месте, изменяя его, и возвращает None, тогда как sorted() создает новый отсортированный список, оставляя оригинал неизменным.

✔️ Оба метода имеют параметры key и reverse, позволяя кастомизировать сортировку.

list.sort() используется для изменения оригинального списка. • sorted() возвращает новый отсортированный список из любого итерируемого объекта.

🔗 Почитать подробнее

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

Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
👍16🏆8🍾7🔥2