Эй, ребята, я хочу выполнить следующую операцию:
b = 'random' c = 'stuff' a = '%s' + '%s' %(b, c)
, но я получаю следующую ошибку:
TypeError: not all arguments converted during string formatting
Кто-нибудь из вас знает, как это сделать?
'%s%s' % (b, c)
или
b + c
или новый стиль format way
format
'{0}{1}'.format(a, b)
Из-за приоритета оператора ваша программа сначала пытается подставить b и c во вторую "% s". Поэтому разбивать такие строки на + бессмысленно, лучше сделать a = '%s %s' % (b,c)
a = '%s %s' % (b,c)
В зависимости от того, что вы хотите:
>>> b = 'random' >>> c = 'stuff' >>> a = '%s' %b + '%s' % c >>> a 'randomstuff' >>> >>> b + c 'randomstuff' >>> >>> z = '%s + %s' % (b, c) >>> z 'random + stuff' >>>