Вы можете использовать:
mystr = "This string is: %s" % (int(page) + 1)
... преобразование строки будет автоматическим при интерполяции в %s
через %
(оператор форматирования строки).
Нельзя обойтись без необходимости преобразования строки в целое число. Python никогда не будет сопоставлять строки для других типов данных. В различных контекстах Python может возвращать строку или «представление» объекта, поэтому существуют неявные преобразования данных в строковые формы. (Под капотом они вызывают .__str__()
или .__repr__()
методы объекта).
(Хотя некоторым людям это не нравится, я лично думаю, что понятие перегрузки %
для интерполяции строк гораздо более разумно, чем функция с именем sprintf()
(если у вас есть язык с поддержкой перегрузки операторов в любом случае).