Convertendo int em bytes no Python 3

Eu estava tentando criar esse objeto de bytes no Python 3:

b'3\r\n'

então eu tentei o óbvio (para mim) e encontrei um comportamento estranho:

>>> bytes(3) + b'\r\n'
b'\x00\x00\x00\r\n'

Pelo visto:

>>> bytes(10)
b'\x00\x00\x00\x00\x00\x00\x00\x00\x00\x00'

Não consegui ver nenhum ponteiro sobre por que a conversão de bytes funciona dessa maneira, lendo a documentação. No entanto, encontrei algumas mensagens surpresas nesta edição do Python sobre como adicionarformat em bytes (veja tambémFormatação Python de 3 bytes):

http://bugs.python.org/issue3982

Isso interage ainda mais mal com esquisitices como bytes (int) retornando zeros agora

e:

Seria muito mais conveniente para mim se bytes (int) retornassem a ASCIIfication desse int; mas, honestamente, até um erro seria melhor que esse comportamento. (Se eu quisesse esse comportamento - o que nunca tive - prefiro que seja um método de classe, invocado como "bytes.zeroes (n)").

Alguém pode me explicar de onde vem esse comportamento?

questionAnswers(12)

yourAnswerToTheQuestion