return bytes([hex1 ^ hex2 for hex1, hex2 in zip(HEX1, HEX2)])
想问一下这句代码是什么意思?
return bytes([hex1 ^ hex2 for hex1, hex2 in zip(HEX1, HEX2)])
想问一下这句代码是什么意思?
一步一步来
zip(HEX1, HEX2) 将HEX1和HEX2打包成一个元组(迭代器)
[hex1 ^ hex2 for hex1, hex2 in zip(HEX1, HEX2)] :for循环简写,并将结果保存为列表
然后通过for循环去取zip(HEX1, HEX2)打包后的值,并赋值给hex1和hex2
hex1 ^ hex2: hex1 和hex2进行按位异或
bytes([hex1 ^ hex2 for hex1, hex2 in zip(HEX1, HEX2)]) :for循环的结果作为参数传给bytes函数,返回一个值
return bytes():返回bytes返回的值