Path: csiph.com!fu-berlin.de!uni-berlin.de!individual.net!not-for-mail From: Hermann Riemann Newsgroups: de.comp.lang.python Subject: Re: [Python-de] strings zusammensetzen. Date: Wed, 30 Aug 2017 07:26:43 +0200 Lines: 29 Message-ID: References: <40c6ccec-4cbc-9614-dbdd-9e88cd1dccf0@gmx.de> Mime-Version: 1.0 Content-Type: text/plain; charset=utf-8; format=flowed Content-Transfer-Encoding: 8bit X-Trace: individual.net 8cGuCGJZDY6zQWaXmwpsGQ5MyfiywUU3MLcXJQSnmTfDN1piqv Cancel-Lock: sha1:awQyBDJ68lqXJgukJMGbhSSgvSY= User-Agent: Mozilla/5.0 (X11; Linux x86_64; rv:52.0) Gecko/20100101 Thunderbird/52.3.0 In-Reply-To: Content-Language: de-DE Xref: csiph.com de.comp.lang.python:4876 Am 29.08.2017 um 17:21 schrieb Walter Dörwald: > Python 3.6.2 (default, Jul 26 2017, 16:42:24) > Type 'copyright', 'credits' or 'license' for more information > IPython 6.1.0 -- An enhanced Interactive Python. Type '?' for help. > In [1] ▶ base, revision, suffix = "foo", "bar", "baz" > In [2] ▶ %timeit base + revision + suffix > 208 ns ± 0.532 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) > In [3] ▶ %timeit '%s%s%s' % (base, revision, suffix) > 315 ns ± 1.55 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) > In [4] ▶ %timeit '{}{}{}'.format(base, revision, suffix) > 462 ns ± 1.23 ns per loop (mean ± std. dev. of 7 runs, 1000000 loops each) > In [5] ▶ %timeit f'{base}{revision}{suffix}' > 14.6 ns ± 0.00911 ns per loop (mean ± std. dev. of 7 runs, 100000000 > loops each) Daraus lese ich: a+b+c ist schneller als "%s%s%s"%(a,b,c), "%a%b%c"%(a,b,c) ist schneller als "{}{}{}".format(a,b,c). Das mit 14.6 ns ist Hinweis, das in diesem Fall keine Zwischenwerte der Art (a+b)+c erstellt wurden. Hermann der jetzt wieder eher os.system("rm "+dateiname) statt os.system("rm {}".format(dateiname)) schreiben wird. -- http://www.hermann-riemann.de