2015-04-29 3 views
2

В Python, если я хочу использовать переменную в строке при печати я делаю следующее:Используйте ту же переменную несколько раз в печати

name = "newbie" 
site = "Stack Overflow" 
print("I, a %s, find %s very useful" % (name, site)) 

Если я хочу напечатать "I, a newbie, find Stack Overflow to be very very very useful' и заменить 'very' имя переменной, как могу ли я это сделать, сохраняя при этом переменные name и site?

+1

так что вы хотите выход быть '«Я новичок найти StackOverflow быть очень очень очень полезно»'? пожалуйста, разместите такие вещи в кавычках. также почему вы должны начать с неформатированного '' я% s найти% s очень полезно? '? не имеет смысла использовать '' я% s нахожу% s% s полезным "' как точку перехода, если вы знаете, что собираетесь что-то сделать с словом «очень»? – TehTris

ответ

5
>>> print("I a {0} find {1} {2} {2} {2} {2} useful".format(name, site, 'very')) 
I a newbie find stackoverflow very very very very useful 

Или, используя названия:

>>> a='very' 
>>> print("I a {name} find {site} {a} {a} {a} {a} useful".format(name=name, site=site, a=a)) 
I a newbie find stackoverflow very very very very useful 

Или, используя локальный словарь:

>>> print("I a {name} find {site} {a} {a} {a} {a} useful".format(**locals())) 
I a newbie find stackoverflow very very very very useful 
+1

'string.format()' должен быть стандартным способом устранения этого типа вещей – TehTris

1

В питона повторить любую строку через несколько раз вы можете легко использовать * оператор как:

word = "very " 
print word*3 
>>> very very very 

Таким образом, в данном контексте, вы можете использовать:

print "I %s, find %s %s useful"% ("newbie", "stack", word*3) 
>>> I newbie, find stack very very very useful 
Смежные вопросы