Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Stefan Schwarzer Newsgroups: de.comp.lang.python Subject: Re: [Python-de] strings zusammensetzen. Date: Fri, 25 Aug 2017 09:08:37 +0200 Lines: 37 Message-ID: References: Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de p2kQ8XUYag8U/IrluY3/LQIJ75vfjrqF+1qChApnJMaQ== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org User-Agent: Mozilla/5.0 (X11; U; Linux i686; en-US; rv:1.8.1.24) Gecko/20100411 Thunderbird/2.0.0.24 Mnenhy/0.7.6.666 In-Reply-To: Content-Language: de-DE X-Provags-ID: V03:K0:0dxe09MK7FbFrPyNNKBFRd7Kv25D/fHFKqsEUuy3Eo42dAAZGcX /TtVMdQpYqt0yY7d8z1m+Mn2WKGLbnHd9hubzI8Vq7V9c9mE/IaIPaTgXtKrRX92JiRkbuG X1HNP/yZW33nQkHRQdR7aEmvYS6EEwCsF3MwPOHeKbdf7TfUlcuxb940YKzC2oceQlIJKut apsAryFWvH6dbvTXRRyWQ== X-UI-Out-Filterresults: notjunk:1;V01:K0:mfcLWJatCo8=:j26yUpiBC7ArqKxnaU/9dh mKPTUKn8r/ExSmhbCXhKRs8ysQF5WpSNQzbcuKS797kovBKoITdYXjqxK6R+kHUd5729lPOmM +Y8n8rqmRg51s2MA1ADD4W+Kcq0325QaZrHVGDaUXhW9HK2qSKz3pNEtrV91Qo900sPXRR732 CTdCAAAaVckSyoAaooAq11TKeVfffeYx/Ed/68vdFG1papQVHJW7J5OWFS69UQ6K8JCapK6Pn hDQQttgKWD4PKGw72Lllav+Upf4pCSTBy0ytFAfl7MERBcearzDt5WJPZOWjwXWZL9qhVPVPc myMEh9nVk+Ty7r6iD3fNTL8Cb2nuhxX3wFIcX27FIA8G6RA1ZOnt4AJ1r3euPiCYTfNR19Ypw JmVYSl2BCHZzICL4fHkFEGFEknAMcuhwpjOFl3921AMt+/jXCb3pMa9FJVQQJr9J9FIgwaXjV 9bqfOZXNgTE2GJVv+xe432QQzYgXGjt+D/GxW8rypXIz2yLjsu6+CuW2alvInEoI/dqQX/RfP meuaRNU8qjKwf8X9C9TLowjc4RWSJ5nLAD5LMbtqisVfjmAenA0xLW+fR/imQDNs0K9HQDYkx u6TQo1AFI29eQCk7k24N3gad3g3gddOq3uzwG9iuN3318N9CNhHnk/+7P9D24WAdihNBkyMe9 bt98UzRE8bTeRd2o/iEIqdeavCyXzwf9RHz6JjDMAvHBv8Wok7A0Dog2y3aH7qVD5UTb9wAZ9 Ipd2+eZ991J0seOryl0uAmsCQ4kKW40K4UUMtcNVrLzaXu/4y2yX+i9LDxw= X-BeenThere: python-de@python.org X-Mailman-Version: 2.1.24 Precedence: list List-Id: Die Deutsche Python Mailingliste List-Unsubscribe: , List-Archive: List-Post: List-Help: List-Subscribe: , X-Mailman-Original-Message-ID: X-Mailman-Original-References: Xref: csiph.com de.comp.lang.python:4863 On 2017-08-25 07:45, Hermann Riemann wrote:> Was ist besser? > a b und c enthalten strings. > > d=a+b+c besser als > d="{}{}{}".format(a,b,c) ? Die zweite Variante ist das übliche Idiom, wenn es um die Kombination von Strings geht. Ein Vorteil ist auch, dass man sieht, dass das Ergebnis `d` ein String ist. Die erste Variante hat wiederum den Vorteil, dass sie kürzer und etwas übersichtlicher ist. Es ist offensichtlich, dass `a`, `b` und `c` so beschaffen sind, dass man sie "addieren" kann. Bei der der zweiten Variante könnten `a`, `b` und `c` auch alle möglichen Objekte sein, die sich in einen String umwandeln lassen (was in Python praktisch immer der Fall ist). Die in einem anderen Beitrag genannte Variante mit `"".join` würde ich hier nicht nehmen. Diese Variante wäre aber die erste Wahl, wenn man viele Strings verbinden will, die dann sehr wahrscheinlich auch in einer Liste oder einem anderen Iterable vorliegen werden. Über die Laufzeit würde ich mir erst mal keine Gedanken machen. Ob man diese Codestelle optimieren muss oder ob ganz andere Stellen im Code einen viel größeren Einfluss haben, zeigt sich erst später beim Profiling. > der hier nicht an Lesbarkeit denkt. Ich aber. :-) Lesbarkeit ist meiner Meinung nach ein Kriterium, das man immer berücksichtigen sollte. Damit meine ich _nicht_, dass sich der Lesbarkeit immer alle anderen Kriterien unterordnen sollte. Ich denke, ich würde in meinem Code die zweite Variante verwenden. Viele Grüße Stefan