3.73K subscribers
478 photos
29 videos
35 files
343 links
Здесь есть всё, чтобы упростить вам изучение Python.
Download Telegram
Дизассемблирование

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

На картинке показана работа этого модуля на примере функции, но такое можно повторить и с классами – в таком случае все его функции будут дизассемблированы.
This media is not supported in your browser
VIEW IN TELEGRAM
Оператор "is" в Python сложнее, чем вы думаете

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

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

Смотреть это видео на youtube: youtu.be/mQk1NIV3HXM
Как сделать PATCH-запрос

Иногда нам не нужно полностью заменять старые данные. Скорее мы хотим изменить только определенные поля. В этом случае мы используем запрос PATCH.

Давайте обновим категорию (category) продукта обратно с clothing (одежды) на electronic (электронику), сделав запрос PATCH к конечной точке products/<product_id>
Что выведет код?
Anonymous Quiz
8%
10
31%
01
38%
0
11%
None
12%
Error
Наследование

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

В данном случае класс Person является родительским классом, также его называют базовым классом или суперклассом. А класс Employee называется дочерним классом или подклассом.

Наследование классов нужно для изменения поведения конкретного класса, а также для расширения его функционала.
Создание своего первого графического интерфейса

Библиотека Tkinter предустановлена в Python в качестве стандартного модуля, поэтому нам не нужно устанавливать что-либо для ее использования.

Сначала импортируем Tkinter и создадим окно, в котором мы зададим его название.

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

Label
Чтобы добавить текст в наш предыдущий пример, мы создадим lbl с помощью класса Label.
Затем мы установим позицию в окне с помощью метода grid. Опять же: если он не будет вызван, текст не будет отображаться!
Символы Юникода

Добавлять юникод-символы в строковые литералы можно не только с помощью их номеров, но и по их названиям.

Более того, такая запись символов юникода совместима и с f-строками, а это очень удобно.
🔥 Оператор моржа

Если вы до сих пор не понимаете, зачем и когда его использовать, то это видео для вас.

В ролике рассказывается про сам оператор, а после идут примеры его использования на практике. Приятного просмотра!

Смотреть | #видео
Шпаргалка Python по регулярным выражениям

В этой шпаргалке собрано большое количество информации от специальных символов до объектов и флагов.
🐍 Функции в Python: 5 задач для тренировки *args, **kwargs и lambda-функций

Пишем функции, принимающие *args и **kwargs, находим различия между двумя словарями, применяем анонимные lambda-функции и используем мемоизацию для решения олимпиадной задачи про кубики.

https://proglib.io/p/funkcii-v-python-5-zadach-dlya-trenirovki-args-kwargs-i-lambda-funkciy-2022-06-15
3 интересных функции в random

Этот пост более для тех, у кого есть соответствующий бэкграунд и кто хочет знать про random больше среднего.

betavariate() — используется для получения случайного числа с плавающей запятой от 0 до 1 на основе бета-распределения (применяется для статистических расчетов).

gauss() — генерирует случайное число с плавающей запятой на основе распределения Гаусса (используется в теории вероятности).

paretovariate() — возвращает случайное число с плавающей запятой на основе распределения Парето (используется в теории вероятности).
Что выведет код?
Anonymous Quiz
34%
0
13%
2
8%
8
9%
10
36%
Error