Данный код выдаст ошибку, потому что переменная var объявлена вне функции plus() и пытается использоваться внутри неё без объявления внутри функции как глобальной переменной
В Python, если вы хотите изменить значение глобальной переменной внутри функции, вам необходимо явно объявить эту переменную как глобальную с помощью ключевого слова global
Здесь lst[0] используется как временная переменная в цикле for. Каждая итерация цикла for присваивает ей следующее значение из списка lst и затем это значение выводится с помощью функции print()
as_integer_ratio() возвращает числитель и знаменатель дроби числа, от которого мы вызываем метод. Причём такие, которые представляют данное число в наименьшей обыкновенной форме
В данном случае, число 0.25 может быть представлено в виде дроби 1/4
Таким образом, после выполнения кода, значение numerator становится равным 1, а denominator — 4
В Python есть «пул чисел», который кэширует и переиспользует некоторые неизменяемые объекты, такие как небольшие целые числа и строки
В случае с a = pow(1, 2), интерпретатор знает, что 1 и 2 — это небольшие целые числа и он использует уже существующий объект в пуле чисел для представления этих значений
Однако в случае с b = pow(10, 5), числа 10 и 5 слишком большие для кэширования. Поэтому каждый вызов pow(10, 5) создаёт новый объект. В результате b is pow(10, 5) возвращает False