По большей части они эквивалентны. Код на repl.it :
data = {'123':'asd','234':'sdf'}
print("-- % --")
string1 = ''.join(' %s="%s"' % (key, value) for key,value in data.items())
print(string1)
print("\n-- .format() --")
string2 = ''.join([' {}="{}"'.format(key, value) for key, value in data.items()])
print(string2)
print("\n-- f'string' --")
string3 = ''.join([f' {key}="{value}"' for key, value in data.items()])
print(string3)
Из:
-- % --
123="asd" 234="sdf"
-- .format() --
123="asd" 234="sdf"
-- f'string' --
123="asd" 234="sdf"