6.11. Case Study: Str Concat

6.11.1. Environment

  • Date: 2026-05-19

  • Python: 3.14.5

  • IPython: 9.13.0

  • System: macOS 26.5

  • Computer: MacBook M3 Max

  • CPU: 16 cores (12 performance and 4 efficiency) / 3nm

  • RAM: 128 GB RAM LPDDR5

6.11.2. SetUp

>>> firstname = 'Alice'
>>> lastname = 'Apricot'

6.11.3. F-string

>>> #
... %%timeit -n 1000 -r 1000
... f'{firstname} {lastname}'
...
37.4 ns ± 3.34 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)

6.11.4. str.format()

>>> #
... %%timeit -n 1000 -r 1000
... '{} {}'.format(firstname, lastname)
...
83.2 ns ± 3.9 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)
>>> #
... %%timeit -n 1000 -r 1000
... '{0} {1}'.format(firstname, lastname)
...
91.5 ns ± 5.06 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)
>>> #
... %%timeit -n 1000 -r 1000
... '{fname} {lname}'.format(fname=firstname, lname=lastname)
...
169 ns ± 6.23 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)

6.11.5. Add Operator

>>> #
... %%timeit -n 1000 -r 1000
... firstname + ' ' + lastname
...
39.3 ns ± 2.89 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)

6.11.6. Mod Operator

>>> #
... %%timeit -n 1000 -r 1000
... '%s %s' % (firstname, lastname)
...
46.8 ns ± 3.3 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)
>>> #
... %%timeit -n 1000 -r 1000
... '%(fname)s %(lname)s' % {'fname': firstname, 'lname': lastname}
...
139 ns ± 5.55 ns per loop (mean ± std. dev. of 1000 runs, 1000 loops each)