вставить значения переменных в строку в Python - PullRequest
13 голосов
/ 30 июля 2010

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

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

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

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

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

Ответы [ 6 ]

16 голосов
/ 30 июля 2010

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

"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
12 голосов
/ 30 июля 2010
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, и должно быть предпочтительнее, чем% форматирование описано в строке Операции форматирования в новом коде.

New in version 2.6.
0 голосов
/ 15 апреля 2019

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

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

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

В полученных данных найден элемент 'records'

0 голосов
/ 15 июля 2018

Если вы используете python 3.6+, лучшим решением будет использование f-строк:

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

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

0 голосов
/ 24 июня 2017

Использовать

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))

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

0 голосов
/ 25 февраля 2016

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

name = input("what is your name?")
print("this is",+name)
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...