Python Learning
33.5K subscribers
1.95K photos
8 videos
7 files
953 links
№ 4974297878

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

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

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

Реклама на бирже - https://telega.in/c/Python_per_month
Download Telegram
Почему пустой список нельзя использовать как аргумент по умолчанию?

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

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

#для_начинающих
👍17🎉2
Удаляем фон с изображения

rembg - это полезная библиотека, которая легко удаляет фон с любой фотографии.

Установка - !pip install rembg.

Документацию можно посмотреть здесь.
👍413
namedtuple

namedtuple — это класс из модуля collections в Python, который позволяет создавать именованные кортежи. Именованные кортежи подобны обычным кортежам, но в них элементы доступны по именам, а не только по индексам. Это делает код более читаемым и понятным, особенно когда кортеж содержит много элементов.

Чтобы использовать namedtuple, вы должны импортировать его из модуля collections и определить свой собственный класс именованного кортежа, указав имена полей.

#для_начинающих
👍171
Как проверить файл .py на синтаксические ошибки, не запуская его?

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

Вы можете использовать командную строку или терминал для проверки файла .py на наличие синтаксических ошибок, не запуская его, используя флаг -m с модулем py_compile.

Откройте командную строку или терминал. Перейдите в каталог, содержащий файл .py, который вы хотите проверить, где yourfile.py — это имя файла, который вы хотите проверить.

#для_начинающих
👍202🔥1
This media is not supported in your browser
VIEW IN TELEGRAM
Анимация циркуля и линейки

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

Смотреть статью
👍172
Что хранится в атрибуте dict?

Атрибут dict содержит словарь, который хранит атрибуты объекта в виде пар ключ-значение. Этот словарь заполняется значениями при создании объекта и может быть изменен позже. Например, если у вас есть объект класса Person, и вы создаете его экземпляр person1, то вы можете добавить новый атрибут age и присвоить ему значение 25.

#для_начинающих
👍172🔥1
Что такое globals() и locals()?

globals() и locals() — это встроенные функции в Python, которые возвращают словари глобальных и локальных переменных соответственно.

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

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

#для_начинающих
👍23🎉2
Что значит конструкция pass?

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

#для_начинающих
👍15🎉21🔥1
В чём разница между типами list и tuple?

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

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

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

#для_начинающих
👍21🔥2🎉1
Ruff

Ruff - это линтер для проверки качества кода.
Он помогает обнаруживать ошибки, следовать стилистическим рекомендациям и в целом писать более чистый и читаемый код.

Ruff можно использовать для проверки как отдельных файлов, так и целых проектов.
👍20🎉2
👍6
Что выведет этот код?
Anonymous Quiz
16%
pass
58%
None
17%
Ошибку
10%
Узнать ответ
👍25🤔41
Может ли быть индекс списка отрицательным?

Да, индекс списка может быть отрицательным. В таком случае, отрицательное значение считается от конца списка, где -1 соответствует последнему элементу, -2 — предпоследнему элементу и так далее.

#для_начинающих
👍282
Как просмотреть методы объекта?

Чтобы посмотреть все методы и атрибуты, связанные с определенным объектом в Python, можно использовать функцию dir(). Она принимает объект в виде аргумента и возвращает список имен всех атрибутов и методов объекта.

#для_начинающих
👍192
@app.route()

@app.route() — это декоратор, который используется для создания маршрутов (роутов) в вашем веб-приложении на основе Flask. Маршруты определяют, какие функции-обработчики должны вызываться при обращении к определенным URL-адресам.

В этом примере мы создали Flask-приложение и определили два маршрута с помощью декораторов @app.route(). Первый маршрут соответствует корневому URL-адресу ('/'), а второй маршрут соответствует URL-адресу '/about'. Когда пользователь переходит по этим URL-адресам, соответствующие функции (home() и about()) выполняются, и результат их выполнения возвращается клиенту.

#для_продвинутых
👍124
Как указать очередь в Celery?

Для указания очереди (queue) в Celery, вы можете воспользоваться параметрами queue, delay или apply_async при определении задачи (task). Этот параметр позволяет указать, в какую очередь следует поместить задачу. Очереди обычно используются для распределения задач между разными воркерами (workers) или группами воркеров.

#для_продвинутых
👍111
Обработчик ошибок в Flask

В Flask, вы можете использовать обработчики ошибок для обработки различных видов ошибок, которые могут возникнуть в вашем веб-приложении. Обработчики ошибок позволяют вам красиво представлять ошибки пользователю, а также выполнять дополнительные действия, такие как запись журналов или отправка уведомлений об ошибке. Flask предоставляет декораторы для создания обработчиков ошибок.

На картинке пример обработчика ошибки 404 (Not Found).

#для_продвинутых
👍93
whylogs

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

#для_начинающих
👍92
Создание telegram-ботов с интерактивным меню

Рассмотрим небольшого бота, взаимодействующего с пользователем через сообщение с inline-клавиатурой.

Смотреть статью
👍141