A: Python Global Interpreter Lock - это механизм блокировки, который позволяет только одному потоку управлять интерпретатором Python. Блокировщик нужен для того, чтобы корректно увеличивался/уменьшался счетчик ссылок на переменные. Без блокировки счетчик может изменяться разными потоками, и тем самым могут удалиться еще используемые объекты. По сути этот механизм делает все многопоточные программы однопоточными. Это сказывается на производительности многопоточных программ, поэтому от GIL пытались отказаться.
A: Оператор == проверяет равенство ЗНАЧЕНИЙ двух объектов. Оператор is проверяет равенство самих объектов, то есть что оба объекта указывают на один и тот же адрес в памяти.
A: Работа с объектом класса: new(), init(), del(). Сравнение: eq(), ne(), lt(). Арифметические операторы: add(), sub(), div(). Информация о своем классе: str(), repr(), dir(), sizeof(). Контроль доступа к атрибутам: getattr(), setattr(). Методы, которые используют контейнеры: len(), getitem(), setitem(), iter(), contains(). Вызов объекта: call(). Контекстный менеджер: enter(), exit().
Q: Что такое *args, **kwargs? Зачем используются * и ** в записи?
A: Используются для передачи неименованных (*args) и именованных (**kwargs) параметров переменного количества. То есть необходимы в случае, когда заранее неизвестно количество параметров. Важный момент - слова args и kwargs не являются обязательными (их можно заменить на другие). А важны именно знаки * (распаковка параметров в список) и ** (распаковка параметров в словарь).
Q: Какой вывод ожидается после третьего вызова функции? Почему?
А: В Python аргументы со значением по умолчанию вычисляются единожды в момент объявления функции. В нашем примере таким аргументом является список lst. И каждый раз при вызове функции - его содержимое будет меняться.
How can I read @smartiqa without a Telegram account?
TGViewer shows the public web preview Telegram publishes for Programming & QA: recent posts, photos, videos and the subscriber count, with no app, login or account.
How many subscribers does Programming & QA have?
Programming & QA (@smartiqa) has 322 subscribers on Telegram, refreshed roughly every 30 minutes.
Does Programming & QA know I viewed it here?
No. Public channel previews carry no viewer identity, and TGViewer has no accounts or tracking of what you look up.