String interpolation in Python and R

One of the things I liked about Perl was string interpolation.

If you use a variable name in a string, the variable will expand to its value.

For example, if you a variable $x which equals 42, then the string “The answer is $x.

” will expand to “The answer is 42.

” Perl requires variables to start with sigils, like the $ in front of scalar variables.

Sigils are widely considered to be ugly, but they have their benefits.

Here, for example, $x is clearly a variable name, whereas x would not be.

You can do something similar to Perl’s string interpolation in Python with so-called f-strings.

If you put an f in front of an opening quotation mark, an expression in braces will be replaced with its value.

>>> x = 42 >>> f”The answer is {x}.

” The answer is 42.

You could also say >>> f”The answer is {6*7}.

” for example.

The f-string is just a string; it’s only printed because we’re working from the Python REPL.

The glue package for R lets you do something very similar to Python’s f-strings.

> library(glue) > x <- 42 > glue(“The answer is {x}.

“) The answer is 42.

> glue(“The answer is {6*7}.

“) The answer is 42.

As with f-strings, glue returns a string.

It doesn’t print the string, though the string is displayed because we’re working from the REPL, the R REPL in this case.

.. More details

Leave a Reply