Робот получает выражение в виде строки ${hex_value}==${0xFF}
. Затем он выполняет подстановку переменных, получая строку 0xFF==255
. Эта строка затем передается в python s eval .
Причина, по которой правая часть равна 255
, описана в руководстве пользователя :
Можно также создавать целые числа из двоичных, восьмеричных и шестнадцатеричных значений, используя префиксы 0b, 0o и 0x соответственно. Синтаксис нечувствителен к регистру.
${0xFF}
заменяется на 255, а ${hex_value}
заменяется на то, что находится в этой переменной. В этом случае эта переменная содержит четыре байта 0xFF
.
Таким образом, ${hex_value}==${0xFF}
преобразуется в 0xFF==255
, и это передается в eval
в виде строки.
Другими словами, это точно так же, как если бы вы набрали eval("0xFF==255")
в python интерактивной подсказке.