Path: csiph.com!fu-berlin.de!uni-berlin.de!not-for-mail From: Tobias Herp Newsgroups: de.comp.lang.python Subject: Re: [Python-de] strings zusammensetzen. Date: Fri, 25 Aug 2017 23:41:55 +0200 Lines: 39 Message-ID: References: <6344616c-63d2-08c8-117e-f05de0735155@python-academy.de> Mime-Version: 1.0 Content-Type: text/plain; charset=ISO-8859-1 Content-Transfer-Encoding: 8bit X-Trace: news.uni-berlin.de ZFoIY83KwbZBw6c5n/XwygqlCIP0RNptSj0sis5wadjA== Return-Path: X-Original-To: python-de@python.org Delivered-To: python-de@mail.python.org User-Agent: Mozilla/5.0 (Windows NT 6.3; WOW64; rv:49.0) Gecko/20100101 Firefox/49.0 SeaMonkey/2.46 In-Reply-To: <6344616c-63d2-08c8-117e-f05de0735155@python-academy.de> X-Provags-ID: V03:K0:xYJFGHjQh6Kd4YoHdQqdB9+/dvngI4PLHtWaKj9/sBsD0QhW4be 5foKyttqPyTtDVy5cXDP1a571mAObvGmUvIi1UJIQxmVYksqn9QnDfcnW5HX0vO+ZPFvmfB 1xKgF5Tb+DQya/Z/DK9wxAntbpyhgE2xw1X5UQ4kevqQ+EE4GSMXDZsno+dimR8D31z7Ep7 dSAgvHVm6ItrI/MZVStYA== X-UI-Out-Filterresults: notjunk:1;V01:K0:cn4YY57xkQg=:M5nRmz6U5PbWOx5xLWnYUO cPhxBmBPiqMuQT2ZYPueIu2yCpYWHKatf6sxZdRXYWb78LwxFiNI1PiTerxd9WAQdboqfSe2A G4P8HWb+GTY3HciWhvYKwYtZbz8E07LKkvv7EbgDJ0sljRdKXsocDq75hrIQAVQ7B2MZNyXkg V65PmySKlpbE6OXj/CuE+J/FJ0stZvmtJnuacTY7zIsLShPx0tmmiqLEeYvwHRyJJlqpY7A/Q 7CYmOYDeHMbnlaVHy6/wRGCwT97M5eP6YMLnRm5xKnPTiEMMmHOFvm/KFqneVLEgL8IhrQ+Wj I/XDlvvwYruCRoG5I+M8VjsjReRel0rybejpq+coKvmkCjvV064qiZSHMJHRktpvLLsazI85E ycwIECvEp4lEsJCHVudSFlpfBi2TqP/HnkeuADus3ZLtYNynuQ3ljCo1hQQPaJ6Qk0G/iNY+X WPQdyg3dXlNF25e43Y+hvdBKG40NSERDd5U2QvpeOGRmOTRKJifRf8KlEdsuU4lb1Vqbd6wvC 17Hymw1wZ7cPEeA2xHz7kCPkDYpwvnHHPR558UoyBe+AsskntPjbBcdlKE5CwSkydfOS95iov bY/WZhW/oc5RKMP2Icj1Y1KLLBBTcOWk0FMFw/EcdonG3yboisD4LRB4LNoP0nUDJqh8jD8Hg 5zDlox+S2jNJJ1b9Rb4D93nOy0KICAKJw2RDEla6LyA81hPfR7WwzIu+mPkkQ7sAwS5k0AaA+ pWFSBd/sSSXguAjMuvZseXoq0Rji8xfLC0+nwyb73X6kWPPPZ81/MCrzKE2grM3tArqOGef9v qXOBtUNzaXe0CmtTvnLeC4IfC4pXRBE+0Bj4ldXOzEwPOZI/Dw= 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: <6344616c-63d2-08c8-117e-f05de0735155@python-academy.de> Xref: csiph.com de.comp.lang.python:4869 Mike Müller schrieb am 25.08.2017 um 11:18: > Am 25.08.17 um 10:28 schrieb Tobias Herp: > >> Dann erfüllt die "Variante 3" den Zweck: >> >> d = ''.join([a, b, c]) >> > ... > >> Die "Variante 3" konvertiert Nicht-Strings stillschweigend. Ok, hier ist mir ein Tippfehler unterlaufen; es sollte "Variante 2" heißen und trifft auf jede Template-Variante zu, egal ob als '{}'.format oder '%s' % ... >> Was aber, wenn ich ganz selbstverständlich davon ausgehe, daß es Strings sind, und eine Abweichung hiervon ein sicheres Zeichen für einen Fehler ist? Ich verplempere nicht nur eine Menge Rechenzeit, sondern verberge auch noch den Fehler: > > Das stimmt aber nun nicht: > >>>> ''.join(['a', 2]) > TypeError Traceback (most recent call last) > ''.join(['a', 2]) > TypeError: sequence item 1: expected str instance, int found Das Verplempern von Rechenzeit bezog sich auch nicht auf die join-, sondern auf die grausliche .format-Variante ... Was Du ausprobiert hast, ist genau, was ich meine: wenn der join-Aufruf erfolgreich war, waren auch alle Argumente korrektermaßen Strings. Ansonsten wurde möglicherweise die aktuelle Funktion falsch aufgerufen, und die implizite Konversion würde den Fehler verbergen, der sich ansonsten durch den TypeError bemerkbar machen würde. -- Tobias