Как эта функция магическая работа (ниже), то есть hex = '%032x' % self.int
по какой-то причине, то получается следующее значение ...Python magic function, как это работает?
265631021230191344138857284998518456
в ....
0033289ed88646a64b9fc63c808fd6b8
def __str__(self):
hex = '%032x' % self.int
return hex
Но все это должно на самом деле сделать из моих знаний: добавьте 032x
в конец строки 265631021230191344138857284998518456
, так что происходит? Как он делает то, что делает?
так что вы можете использовать '% s' (s строка) – Hacketo
ваш код преобразует целое число (которое вы напечатали десятичным) в шестнадцатеричную строку (добавив 0 впереди, так что длина будет 32). –
В этом случае «x» - это подписанное шестнадцатеричное преобразование для операций форматирования строк: https://docs.python.org/2/library/stdtypes.html#string-formatting-operations –