Programming & QA
322 subscribers
300 photos
178 links
Smartiqa - платформа о технологиях, программировании и тестировании ПО.

Сайт: https://smartiqa.ru
Канал YouTube: https://www.youtube.com/channel/UCk_7MNLSD0S2fxi0EQ-V6lQ
Vkontakte: https://vk.com/smartiqa
Vkontakte Python: https://vk.com/smartiqa_python
Download Telegram
Вопрос №170

Q: Приведите пример обработки исключения.
👍1🔥1
Вопрос №171

Q: Назовите основные функции по работе с json в питоне.

A: Запись: dump(), dumps(). Чтение: load(), loads().
Вопрос №172

Q: Какой вывод ожидается после третьего вызова функции? Почему?

А: В Python аргументы со значением по умолчанию вычисляются единожды в момент объявления функции. В нашем примере таким аргументом является список lst. И каждый раз при вызове функции - его содержимое будет меняться.
Вопрос №173

Q: Что такое *args, **kwargs? Зачем используются * и ** в записи?

A: Используются для передачи неименованных (*args) и именованных (**kwargs) параметров переменного количества. То есть необходимы в случае, когда заранее неизвестно количество параметров. Важный момент - слова args и kwargs не являются обязательными (их можно заменить на другие). А важны именно знаки * (распаковка параметров в список) и ** (распаковка параметров в словарь).
Вопрос №174

Q: Приведите примеры magic (dunder) методов.

A: Работа с объектом класса: new(), init(), del(). Сравнение: eq(), ne(), lt(). Арифметические операторы: add(), sub(), div(). Информация о своем классе: str(), repr(), dir(), sizeof(). Контроль доступа к атрибутам: getattr(), setattr(). Методы, которые используют контейнеры: len(), getitem(), setitem(), iter(), contains(). Вызов объекта: call(). Контекстный менеджер: enter(), exit().
Вопрос №175

Q: Как из-под Python выполнить команду в консоли на локальной машине? На удаленной?

A: Локально: os.system(), subprocess.Popen(). Удаленно (по SSH): client = paramiko.SSHClient(); client.connect(), client.exec_command()
Вопрос №176

Q: В чем разница в использовании между is и ==?

A: Оператор == проверяет равенство ЗНАЧЕНИЙ двух объектов. Оператор is проверяет равенство самих объектов, то есть что оба объекта указывают на один и тот же адрес в памяти.
Вопрос №177

Q: Что такое GIL?

A: Python Global Interpreter Lock - это механизм блокировки, который позволяет только одному потоку управлять интерпретатором Python. Блокировщик нужен для того, чтобы корректно увеличивался/уменьшался счетчик ссылок на переменные. Без блокировки счетчик может изменяться разными потоками, и тем самым могут удалиться еще используемые объекты. По сути этот механизм делает все многопоточные программы однопоточными. Это сказывается на производительности многопоточных программ, поэтому от GIL пытались отказаться.
Вопрос №178

Q: Что выведет данный код?
👍1