Convertir int a bytes en Python 3

Estaba intentando construir este objeto de bytes en Python 3:

b'3\r\n'

Así que probé lo obvio (para mí) y encontré un comportamiento extraño:

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

Aparentemente:

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

No he podido ver ningún indicador sobre por qué la conversión de bytes funciona de esta manera leyendo la documentación. Sin embargo, encontré algunos mensajes sorpresa en este problema de Python sobre la adición deformat a bytes (ver tambiénPython de 3 bytes de formato):

http://bugs.python.org/issue3982

Esto interactúa aún peor con rarezas como bytes (int) que devuelven ceros ahora

y:

Sería mucho más conveniente para mí si los bytes (int) devolvieran la ASCIIfication de ese int; pero honestamente, incluso un error sería mejor que este comportamiento. (Si quisiera este comportamiento, que nunca he tenido, preferiría que fuera un método de clase, invocado como "bytes.zeroes (n)".)

¿Puede alguien explicarme de dónde viene este comportamiento?

Respuestas a la pregunta(12)

Su respuesta a la pregunta