No. The idea is explicitly dismissed in the PEP:
For the same reason that we don’t support
bytes.format()
, you may
not combine'f'
with'b'
string literals. The primary problem
is that an object’s__format__()
method may return Unicode data
that is not compatible with a bytes string.Binary f-strings would first require a solution for
bytes.format()
. This idea has been proposed in the past, most
recently in PEP 461. The discussions of such a feature usually
suggest either
adding a method such as
__bformat__()
so an object can control how it is converted to bytes, orhaving
bytes.format()
not be as general purpose or extensible asstr.format()
.Both of these remain as options in the future, if such functionality
is desired.