Я хотел бы отформатировать строку x, используя строковые литералы (python 3.6+), получая точность из переменной n.
x
n
def strtrunc(x, n): return(f'{x:.ng}')
Сам нашел ответ во время написания вопроса: Переменные в форматировании строк можно вкладывать следующим образом (см. Форматирование строки в python с форматированием переменных ), также работает для строковых литералов:
def strtrunc(x, n): return(f'{x:.{n}g}') strtrunc(x=12.34534, n=5) Out[188]: '12.345'