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
加入频道
⚙️ difflib.get_close_matches()

В Python функция difflib.get_close_matches() находит наиболее похожие строки из списка на основе заданного шаблона. Это удобно для реализации поиска, проверки орфографии или подсказок для ввода.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14❤‍🔥1
PyOxidizer

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

Python Learning 👩‍💻
👍23🍾6😱2❤‍🔥1
⚙️ shutil.copy()

Функция shutil.copy() из модуля shutil позволяет копировать файлы из одного места в другое. Это удобно для работы с файлами и создания резервных копий.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13❤‍🔥6
⚙️ inspect.signature()

В Python функция inspect.signature() из модуля inspect позволяет получать информацию о сигнатуре функций и методов. Это полезно для анализа кода во время выполнения, например, для отладки или динамического вызова функций.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍12🆒2❤‍🔥1🏆1
🤔 Как это работает? — Python: List Comprehension

List comprehension — это мощный способ создавать списки в Python одной строкой. Давайте разберём, как работает этот синтаксис.

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

• range(10) генерирует числа от 0 до 9.
Для каждого числа x из range(10) выполняется выражение x**2, которое возводит x в квадрат.
Результаты собираются в список squares.

Развернутый аналог:
squares = []
for x in range(10):
squares.append(x**2)
print(squares) #[0, 1, 4, 9, 16, 25, 36, 49, 64, 81]


Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍20❤‍🔥2
Антипаттерн недели: Использование изменяемых объектов по умолчанию

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

Значение по умолчанию ([]) создаётся один раз при определении функции и используется повторно для всех вызовов. Поэтому изменения сохраняются между вызовами функции.

✔️ Как исправить:

Используйте None и создавайте новый список внутри функции:
def add_item(item, items=None):
if items is None:
items = []
items.append(item)
return items

print(add_item(1)) # [1]
print(add_item(2)) # [2] — теперь всё работает правильно!


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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍33❤‍🔥2
Напоминаю, что у нас есть свой чат, где вы можете задать свой вопрос
https://yangx.top/Chat_for_Python
❤‍🔥4👍2
⚙️ sys.setrecursionlimit()

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

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

Пояснение
⬇️
Функция 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
👍8❤‍🔥3🏆1
⚙️ sys.intern()

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

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

Что такое 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
👍9❤‍🔥1
⚙️ zip()

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

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

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

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

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

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

Пояснение
⬇️
Класс D наследуется от B и C. Вызов d.greet() ищет метод greet согласно MRO. Порядок поиска: D -> B -> C -> A. Поэтому вызывается метод greet из класса B.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥2
🌐Хотите создать веб-приложение, но не знаете, с чего начать?

📖На открытом уроке «Создание веб-приложения на Django за 1 час» вы сделаете первый шаг в мире веб-разработки. Мы начнём с идеи и за час создадим работающий проект.

⚙️Настроим окружение, создадим модель данных, разберёмся с админ-панелью и выведем результат на экран. Вы увидите, что программирование на Python — это просто, если за дело берутся профессионалы!

👉Присоединяйтесь 25 декабря в 20:00 мск и получите скидку🥳 на участие в большом курсе «Python Developer. Basic»: https://clck.ru/3FMMQR

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🤔4❤‍🔥2👍1😱1🎄1
⚙️ inspect.getsource()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥4🏆2
⚙️ sys.getsizeof()

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

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18❤‍🔥2
Вы когда-нибудь хотели стать лучшей версией себя?
Применять SQLAlchemy эффективнее — быстрее, лучше, умнее!

23 декабря, 20:00 мск — открытый урок для Python-разработчиков.

📒Что делать, если методы, использующие SQLAlchemy и СУБД, тормозят? Когда оптимизация внутри SQLAlchemy — благо, а когда — беда? Как создать удобную панель администрирования поверх SQLAlchemy?

Спикер Дмитрий Панкрашов — ведущий разработчик в компании-партнере вендора СЭД «Директум».

🟢Регистрируйтесь прямо сейчас, чтобы не пропустить мероприятие: https://otus.pw/SrB3/

Все участники открытого урока получат скидку на курс "Python Developer. Professional"

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
3👍2❤‍🔥1🗿1