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
加入频道
Вопрос на собеседовании

Как работают дескрипторы в 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
➡️ Использование библиотеки 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