it-swarm.com.ru

Как объединить логическое значение в строку в Python?

Я хочу сделать следующее

answer = True
myvar = "the answer is " + answer

и иметь значение myvar быть "ответ верен". Я уверен, что вы можете сделать это на Java.

51
travis1097
answer = True
myvar = "the answer is " + str(answer)

Python не выполняет неявное приведение, поскольку неявное приведение может маскировать критические логические ошибки. Просто приведите ответ к самой строке, чтобы получить ее строковое представление («True»), или используйте форматирование строки следующим образом:

myvar = "the answer is %s" % answer

Обратите внимание, что для ответа необходимо установить значение True (заглавная буква важна).

99
Andrew Gorcester

Рекомендуемый способ - позволить str.format обрабатывать приведение ( docs ). Методы с подстановкой %s могут со временем устареть (см. PEP3101 ). 

>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print myvar
the answer is True
10
wim
answer = True
myvar = "the answer is " + str(answer)

или же 

myvar = "the answer is %s" % answer
7
Squazic

ответ = верно

myvar = 'answer is' + str (answer) # переменная ответа ss находится в логическом формате, поэтому мы должны преобразовать логический в строковый формат, что легко сделать с помощью этого 

печать (MyVar)

1
Lijin G. Varghese

Используя так называемые f строки:

answer = True
myvar = f"the answer is {answer}"

Тогда если я сделаю

print(myvar)

Я получу:

the answer is True

Мне нравятся f строк, потому что не нужно беспокоиться о порядке появления переменных в печатном тексте, что помогает в случае, если у вас есть несколько переменных, которые будут напечатаны в виде строк.

1
BCArg

В последней версии Python (3.7.0) были введены f-строки.

Замечания: 

boolean = True
output = 'The answer is' + boolean

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

Используя f-строку, вы можете создать строковую версию логического значения и объединить ее с выходной строкой за один раз, например:

boolean = True
output = f'The answer is {boolean}'

Чтобы использовать f-строки, поместите переменную (любого типа) в фигурные скобки {} и поместите f перед строкой (как показано выше).

Примечание: это также работает с целыми числами и другими типами данных, которые могут быть разбирается в функцию print().

0
Christian Loizou