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

Метод uuid.uuid4() из модуля uuid генерирует случайный UUID (универсально уникальный идентификатор), основанный на случайных данных. Это полезно для создания уникальных идентификаторов для объектов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🥰3
⚙️ pathlib.Path.exists()

Метод pathlib.Path.exists() используется для проверки существования файла или директории. Это удобный способ работы с файловой системой в Python.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤‍🔥2🤔1
🚀 Хотите создать своего Telegram-бота и ворваться в мир Python-разработки?

👨‍💻 На бесплатном открытом уроке 16 января вы узнаете, как за 2 часа создать функционального Telegram-бота с нуля:

— Установка и настройка Python-telegram-bot.

— Создание бота: от идеи до реализации.

— Расширение возможностей с дополнительными функциями.

🤖 Представьте, как ваш бот помогает автоматизировать задачи, такие как обработка данных, управление файлами и отправка электронных писем, а также открывает возможности для заработка! Начните путь востребованного разработчика уже сейчас.

👉 Регистрируйтесь на вебинар в преддверии старта курса «Python Developer. Basic» и 🔥 получите скидку на обучение: https://clck.ru/3FjvdB

Реклама. ООО «Отус онлайн-образование», ОГРН 1177746618576
🔥5😱2
⚙️ secrets.token_hex()

Метод secrets.token_hex() используется для генерации безопасных случайных токенов. Это полезно для создания уникальных идентификаторов, паролей или API-ключей.

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

Пояснение
⬇️
Оператор is проверяет, указывают ли обе переменные на один и тот же объект в памяти. Переменные x и y ссылаются на один объект, поэтому x is y возвращает True. Переменная z — новый объект с тем же содержимым, но другой областью в памяти, поэтому x is z возвращает False.


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

Пояснение
⬇️
*args собирает все позиционные аргументы в кортеж (1, 2, 3), а **kwargs собирает именованные аргументы в словарь {'a': 4, 'b': 5}. Код корректен и выводит оба объекта в соответствующем формате.


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

Что такое методическое разрешение (MRO) в Python, как его проверить и зачем оно нужно?

Ответ ⬇️
Методическое разрешение (MRO) определяет порядок, в котором Python ищет методы и атрибуты в иерархии классов при наследовании. MRO важен для работы с множественным наследованием, так как помогает избежать конфликтов и гарантирует корректное разрешение зависимостей.

MRO можно проверить с помощью атрибута __mro__ или функции mro(). Python использует алгоритм C3-линеаризации для вычисления MRO.


Пример использования ⚙️
class A:
def method(self):
print("Метод класса A")

class B(A):
def method(self):
print("Метод класса B")

class C(A):
def method(self):
print("Метод класса C")

class D(B, C):
pass

print(D.__mro__) # (<class '__main__.D'>, <class '__main__.B'>, <class '__main__.C'>, <class '__main__.A'>, <class 'object'>)

d = D()
d.method() # Метод класса B


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍15❤‍🔥1
⚙️ typing.Protocol

typing.Protocol из модуля typing используется для определения интерфейсов (протоколов), которые классы должны реализовывать. Это полезно для проверки совместимости типов в статическом анализе.

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

Пояснение
⬇️
Python использует порядок разрешения методов (MRO) для определения, какой метод вызывать. В данном случае класс D наследует от B и C. MRO для класса D: D -> B -> C -> A. Поэтому вызывается метод process из класса B. Код выполняется корректно.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥13😱8👍1
🚫 Антипаттерн недели: Неоптимальная проверка на принадлежность в списке

Использование списков для проверки на принадлежность с оператором in приводит к линейному времени выполнения, что может быть медленным для больших наборов данных.

✔️ Используйте set для проверки на принадлежность, чтобы снизить время выполнения до O(1).

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍27🔥1
⚙️ contextlib.nested

Модуль contextlib в Python позволяет обрабатывать несколько ресурсов с помощью менеджеров контекста более лаконично. Это полезно, когда работа идёт с большим числом файлов или объектов.

Python Learning 👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍14🔥2🗿1
⚙️ concurrent.futures.as_completed()

Метод concurrent.futures.as_completed() позволяет обрабатывать завершение асинхронных задач в порядке их завершения. Это полезно для параллельной обработки, где важно начать работу с результатами, как только они готовы.

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

Пояснение
⬇️
f-строки – удобный способ отображения информации в нужном формате. Здесь на место {name} подставляется переменная name, а на место {age / 10:.5f} переменная age, деленная на 10. В форматировании указано представление с 5 знаками после запятой.


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
🔥3👍1
Узнай свой грейд и зарплату — бесплатно

1. Переходи в бота ШОРТКАТ @shortcut_python_bot
2. Бронируй удобный слот на индивидуальную встречу для тестирования
3. Проходи тест
4. Сразу же на звонке узнаешь свой грейд и з/п в рынке — на основе опыта менторов из бигтеха

Всё просто, даже добавить нечего

Пройти тестирование в ШОРТКАТ ➡️ @shortcut_python_bot

Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxRdUBv
👍4🔥2
⚙️ inspect.getmembers()

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

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

Как работает Python GIL (Global Interpreter Lock), почему он существует, и как его влияние можно минимизировать?

Ответ ⬇️
GIL — это механизм, который синхронизирует выполнение потоков в интерпретаторе CPython, позволяя только одному потоку исполнять Python-код в единицу времени, даже на многопроцессорных системах. GIL существует для упрощения управления памятью CPython, так как он делает объектную модель потокобезопасной.

Хотя GIL ограничивает параллелизм в многопоточных задачах, он не влияет на многопроцессные программы. Его влияние можно минимизировать, используя:

• Многопроцессный подход через модуль multiprocessing.
• Вызовы низкоуровневого кода (например, библиотеки C, освобождающие GIL).
• Асинхронное программирование (asyncio) для задач ввода-вывода.


Пример использования ⚙️
import threading

counter = 0

def increment():
global counter
for _ in range(1000000):
counter += 1

threads = [threading.Thread(target=increment) for _ in range(2)]

for thread in threads:
thread.start()

for thread in threads:
thread.join()

print("Итоговый счётчик:", counter) # Результат может быть меньше 2000000 из-за GIL


Python Learning
👩‍💻
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17🔥4🎉2