Antoine Pitrou wrote:
bytearray(b"a") + b"bc"
bytearray(b'abc')
b"a" + bytearray(b"bc")
b'abc'
It's quite convenient.
It's a bit disconcerting that the left operand wins,
rather than one of them being designated as the
"wider" type, as occurs with many other operations on
mixed types, e.g. int + float.
In any case, these seem to be special-case combinations.
It's not so promiscuous as to accept any old iterable
on the right:
>>> b"a" + [1,2,3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can't concat bytes to list
>>> [1,2,3] + b"a"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: can only concatenate list (not "bytes") to list
--
Greg
_______________________________________________
Python-Dev mailing list
Python-Dev@python.org
https://mail.python.org/mailman/listinfo/python-dev
Unsubscribe:
https://mail.python.org/mailman/options/python-dev/archive%40mail-archive.com