Print a string as hex bytes?
Your can transform your string to a int generator, apply hex formatting for each element and intercalate with separator:
>>> s = "Hello world !!"
>>> ":".join("{:02x}".format(ord(c)) for c in s)
'48:65:6c:6c:6f:20:77:6f:72:6c:64:20:21:21
':'.join(x.encode('hex') for x in 'Hello World!')
For Python 2.x:
':'.join(x.encode('hex') for x in 'Hello World!')
The code above will not work with Python 3.x, for 3.x, the code below will work:
':'.join(hex(ord(x))[2:] for x in 'Hello World!')