Python Learning
32.3K subscribers
1.96K photos
9 videos
7 files
977 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Что будет выведено при выполнении кода?

Пояснение
⬇️
Функция generator возвращает 1 и 2 с помощью yield. При следующем вызове next(gen) выполняется return 3, вызывая StopIteration с атрибутом value равным 3. Это значение доступно через e.value.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
⚙️ sys.intern()

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

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

Что такое yield from в Python и как оно помогает при работе с большими наборами данных?

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

Пример использования ⚙️
def flatten(nested_list):
for item in nested_list:
if isinstance(item, list):
yield from flatten(item) # Делегирует генерацию к вложенному списку
else:
yield item

nested_list = [1, [2, [3, 4], 5], 6]
for num in flatten(nested_list):
print(num)


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ zip()

Функция zip() в Python используется для объединения нескольких итерируемых объектов (например, списков) в один итератор кортежей. Каждый кортеж содержит элементы, которые находятся на одинаковых позициях в исходных итерируемых объектах.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
100👍14🏆1
➡️ Интересный факт о языке: Множественное присваивание

Множественное присваивание позволяет в одной строке присвоить значения сразу нескольким переменным. Также это позволяет легко обменивать значения между переменными без использования временной переменной.

Как это работает:

Справа от знака = создаётся кортеж значений.
Эти значения распаковываются и присваиваются переменным слева.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍10
⚙️ inspect.getsource()

Метод inspect.getsource() из модуля inspect позволяет получить исходный код функции, класса или метода. Это полезно для анализа кода во время выполнения или создания инструментов для отладки и документации.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11
This media is not supported in your browser
VIEW IN TELEGRAM
Станьте разработчиком нейро-сотрудников на Python и зарабатывайте от 150.000р в месяц 🔥🔥🔥

Мы научим вас создавать топовых нейро-сотрудников на базе GPT-4 Omni, и вы сможете:
1️⃣ Устроиться разработчиком в крупную компанию и зарабатывать от 150 тысяч ₽ в месяц
2️⃣ Разрабатывать такие проекты на заказ и зарабатывать от 500 тысяч ₽ за проект
3️⃣ Создать нейро-сотрудника в вашей компании и вырасти на +30-100% в зарплате

Что будет на интенсиве?
🧬 Теория: как создаются нейро-сотрудники с GPT-4o на Python
🧬 Практика: мы создадим нейро-консультанта, нейро-HR, нейро-маркетолога и др.

Ведущий интенсива - Senior AI разработчик нейросетей и основатель Университета искусственного интеллекта
🔥 Регистрируйтесь на бесплатный интенсив! Встречаемся в ближайший четверг!
🗿7
⚙️ sys.getsizeof()

Метод sys.getsizeof() позволяет узнать размер объекта в памяти, включая дополнительные данные, связанные с этим объектом. Это полезно для анализа потребления памяти в приложении.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍6
⚙️ Улучшение работы со строками

Конкатенация строк через + в цикле создаёт множество временных объектов, что замедляет выполнение программы. Вместо этого используйте join().

Проблема: При конкатенации строк через + создаётся новый объект строки на каждом шаге.

✔️ Решение: Используйте str.join(), который работает быстрее, так как заранее выделяет память для итоговой строки.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍9
⚙️ memoryview()

memoryview() — это встроенный метод Python, который позволяет работать с буфером данных без их копирования. Это полезно для работы с большими массивами данных, таких как байты или массивы, где важна производительность.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍8
#Вопросы_с_собеседования
Как проверить файл .py на синтаксические ошибки, не запуская его?

Утилита py_compile, позволит проверить файл .py на наличие синтаксических ошибок без его запуска.

Используется py_compile очевидно:
1. открываем командную строку/терминал.
2. переходим в каталог, содержащий файл .py, который вы хотите проверить
3. выполняем: python -m py_compile yourfile.py где yourfile.py - это имя файла, который вы хотите проверить.

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

Когда это может быть полезно? Например, если код большой и в процессе задействует много ресурсов, а нужно всего лишь удостовериться в его валидности.

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