Вставлять значения переменных в строку в python

Как вводит переменную [i] в ​​строку в python.

Например, посмотрите на следующий script, я просто хочу дать имя изображению, например geo [0]. Tiff... to geo [i]. tiff, или если вы используете бухгалтера, так как я могу заменить часть цепочки создания стоимости, чтобы сгенерировать счетчик.

    data = self.cmd("r.out.gdal in=rdata out=geo.tif")

    self.dataOutTIF.setValue("geo.tif")

спасибо за ваши ответы

Ответ 1

data = self.cmd("r.out.gdal in=rdata out=geo{0}.tif".format(i))
self.dataOutTIF.setValue("geo{0}.tif".format(i))
str.format(*args, **kwargs)

Выполните операцию форматирования строк. Строка, на которой эта метод может содержать литерал текстовые или замещающие поля ограничены по фигурным скобкам {}. Каждое поле замены содержит либо числовой индекс позиционный аргумент или имя ключевое слово. Возвращает копию строка, в которой каждая замена поле заменяется на строку значение соответствующего аргумента.

>>> "The sum of 1 + 2 is {0}".format(1+2)
'The sum of 1 + 2 is 3'

См. "Синтаксис строки форматирования" для описания различного форматирования параметры, которые могут быть указаны в форматирование строк.

Этот метод форматирования строк является новым стандартом в Python 3.0 и следует предпочесть% форматирование, описанное в String Операции форматирования в новом коде.

New in version 2.6.

Ответ 2

Вы можете использовать оператор % для ввода строк в строки:

"first string is: %s, second one is: %s" % (str1, "geo.tif")

Это даст:

"first string is: STR1CONTENTS, second one is geo.tif"

Вы также можете делать целые числа с %d:

"geo%d.tif" % 3   # geo3.tif

Ответ 3

Использование

var = input("Input the variable")
print("Your variable is " + var)

Обратите внимание, что var должна быть строкой, если это не так, преобразовать ее в строку с помощью var = str(var).

Например

var = 5  # This is an integer, not a string
print("Var is " + str(var))

Это решение является самым легким для чтения/понимания, поэтому лучше для новичков, поскольку это просто простая конкатенация строк.

Ответ 4

Если вы используете Python 3. 6+, лучшее решение - использовать f-строки:

data = self.cmd(f"r.out.gdal in=rdata out=geo{i}.tif")
self.dataOutTIF.setValue(f"geo{i}.tif")

Это более читаемое и производительное решение.

Ответ 5

Если вы используете Python 3, то вы можете использовать F-строку. Вот пример

 record_variable = 'records'    
 print(f"The element '{record_variable}' is found in the received data")

в этом случае вывод будет таким:

Элемент "записи" находится в полученных данных

Ответ 6

Вы также можете сделать это:

name = input("what is your name?")
print("this is",+name)