👍12
Узнай свой грейд и зарплату — бесплатно
1. Переходи в бота ШОРТКАТ @shortcut_python_bot
2. Бронируй удобный слот на индивидуальную встречу для тестирования
3. Проходи тест
4. Сразу же на звонке узнаешь свой грейд и з/п в рынке — на основе опыта менторов из бигтеха
Всё просто, даже добавить нечего
Пройти тестирование в ШОРТКАТ ➡️ @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxRdUBv
1. Переходи в бота ШОРТКАТ @shortcut_python_bot
2. Бронируй удобный слот на индивидуальную встречу для тестирования
3. Проходи тест
4. Сразу же на звонке узнаешь свой грейд и з/п в рынке — на основе опыта менторов из бигтеха
Всё просто, даже добавить нечего
Пройти тестирование в ШОРТКАТ ➡️ @shortcut_python_bot
Реклама. ООО "ШОРТКАТ", ИНН: 9731139396, erid: 2VtzqxRdUBv
👍4🔥2
Метод
inspect.getmembers()
из модуля inspect
позволяет получить список всех членов объекта, включая методы, атрибуты и встроенные свойства. Это полезно для анализа структуры классов и объектов во время выполнения.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11🔥3💯2
Как работает Python GIL (Global Interpreter Lock), почему он существует, и как его влияние можно минимизировать?
Ответ
Хотя 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
Метод
shutil.disk_usage()
из модуля shutil
предоставляет информацию о месте на диске, включая общий объём, используемое и доступное пространство. Это полезно для мониторинга состояния файловой системы.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍19❤🔥4💯4
Класс
concurrent.futures.ThreadPoolExecutor
из модуля concurrent.futures
позволяет легко создавать и управлять пулом потоков для выполнения задач параллельно. Это особенно полезно для выполнения нескольких операций ввода-вывода или вычислений, которые могут быть распределены между несколькими потоками.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13😱4🏆2
Метод
itertools.permutations()
генерирует все возможные перестановки элементов заданной последовательности. Это полезно для задач, связанных с комбинаторикой.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍17❤🔥1
Пояснение
Функция map применяет лямбда-функцию lambda x: x ** 2 к каждому элементу списка numbers, возводя его в квадрат. Возвращается объект map, который преобразуется в список с помощью list(squared). Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7
👍9😢4😁1🤔1
Метод
__slots__
позволяет явно указать, какие атрибуты может иметь объект класса, что значительно уменьшает потребление памяти и ускоряет доступ к атрибутам. Это особенно полезно при создании большого количества экземпляров класса.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍22❤🔥1
Как работает
weakref
в Python, и когда его стоит использовать?Ответ
Пример использования
import weakref
class Data:
def __del__(self):
print("Объект удалён")
obj = Data()
weak_ref = weakref.ref(obj)
print(weak_ref()) # <__main__.Data object at 0x...>
del obj
print(weak_ref()) # None (объект удалён)
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍11❤🔥1
range(len())
вместо enumerate()
В Python часто используют
range(len(lst))
для итерации по списку с индексами, но это снижает читаемость кода и не является идиоматичным способом перебора элементов.enumerate()
, который позволяет одновременно получать индекс и значение элемента, делая код более читаемым и питоничным.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍47😱5❤🔥3🍾1
Метод
dis.Bytecode()
из модуля dis
позволяет анализировать байт-код Python-функций. Это полезно для оптимизации кода и понимания его работы на уровне интерпретатора.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍7❤🔥2
Пояснение
Множество (set) в Python хранит только уникальные элементы, поэтому дубликаты 3 и 4 автоматически удаляются при создании numbers. Операция add(3) не изменяет множество, так как 3 уже в нём есть. Операция remove(2) удаляет 2 из множества. Код выполняется корректно.
Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16🔥2
Ответ:
Anonymous Quiz
65%
{1, 3, 4, 5}
11%
{1, 2, 3, 4, 5}
12%
{1, 2, 3, 3, 4, 4, 5}
12%
Ошибка выполнения
👍18😢4💔1
Встроенная функция
__import__()
позволяет динамически импортировать модули во время выполнения программы. Это полезно, когда имя модуля заранее неизвестно или зависит от условий.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍21🔥2
Метод
sys._getframe()
позволяет получить объект текущего или родительского стека вызовов. Это полезно для отладки, анализа кода и динамического доступа к локальным переменным.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2❤🔥1
Метод
gc.get_objects()
из модуля gc
позволяет получить список всех объектов, отслеживаемых сборщиком мусора в Python. Это полезно для анализа утечек памяти и отладки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍16❤🔥1
Метод
importlib.reload()
позволяет повторно загрузить модуль во время выполнения программы. Это полезно для динамической перезагрузки кода без необходимости перезапуска интерпретатора.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍18🔥3❤🔥1
Метод
sys.addaudithook()
позволяет отслеживать определённые события в Python, такие как импорт модулей, вызовы системных функций и доступ к ресурсам. Это полезно для мониторинга безопасности и отладки.Python Learning
Please open Telegram to view this post
VIEW IN TELEGRAM
👍13🔥2