89 def removeDestination(self, destination):
90 (server, port, instance) = destination
91 if not self.hasDestination(destination):
92 raise Exception("destination instance (%s, %s) not configured" % (server, instance)) 93 del self.instance_ports[(server, instance)]
94 self.ring.remove_node((server, instance))
95
82 def addDestination(self, destination):
83 (server, port, instance) = destination
84 if self.hasDestination(destination):
85 raise Exception("destination instance (%s, %s) already configured" % (server, instance)) 86 self.instance_ports[(server, instance)] = port
87 self.ring.add_node((server, instance))
88
f-strings are the fastest way to format strings as compared to the following methods:
%
format()
str.join
+
operator to concatinate stringTemplate.substitute
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])
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} ¤"