Python

Python

Made by DeepSource

Consider using f-strings PYL-C0209

Performance
Minor

f-strings are the fastest way to format strings as compared to the following methods:

  • using format specifiers %
  • using format()
  • using str.join
  • using + operator to concatinate string
  • using Template.substitute

Bad practice

Some less preferred ways to format strings are the following:

from string import Template

menu = ('eggs', 'spam', 42.4)

old_order = "%s and %s: %.2f ¤" % menu # [consider-using-f-string]
beginner_order = menu[0] + " and " + menu[1] + ": " + str(menu[2]) + " ¤"
joined_order = " and ".join(menu[:2])
format_order = "{} and {}: {:0.2f} ¤".format(menu[0], menu[1], menu[2])
named_format_order = "{eggs} and {spam}: {price:0.2f} ¤".format(eggs=menu[0], spam=menu[1], price=menu[2])
template_order = Template('$eggs and $spam: $price ¤').substitute(eggs=menu[0], spam=menu[1], price=menu[2])

Recommended

Consider using f-strings as shown below:

menu = ('eggs', 'spam', 42.4)

f_string_order = f"{menu[0]} and {menu[1]}: {menu[2]:0.2f} ¤"