不可以。 该想法在PEP中已被明确驳回:
出于我们不支持的相同原因bytes.format()
,您不得将其'f'
与'b'
字符串文字结合使用。主要问题是对象的__format__()
方法可能返回与字节字符串不兼容的Unicode数据。
二进制f字符串首先需要解决 bytes.format()
。在过去,最近在PEP 461中已经提出了这个想法。有关此功能的讨论通常建议
添加诸如__bformat__()
这样的方法,以便对象可以控制如何将其转换为字节,或者
具有bytes.format()
不那么通用或可扩展为str.format()
。
如果需要这样的功能,将来两者都将保留为选项。