Я хочу зробити наступне
answer = True
myvar = "the answer is " + answer
і значення myvar має бути "відповідь правдива". Я майже впевнений, що ви можете зробити це на Java.
Відповіді:
Рекомендований спосіб - дозволити str.format
обробці кастингу ( документи ). Методи із %s
заміною можуть врешті-решт застаріти (див. PEP3101 ).
>>> answer = True
>>> myvar = "the answer is {}".format(answer)
>>> print(myvar)
the answer is True
У Python 3.6+ ви можете використовувати буквальну інтерполяцію рядків :
>>> print(f"the answer is {answer}")
the answer is True
answer = True
myvar = "the answer is " + str(answer)
Python не робить неявного кастингу, оскільки неявний кастинг може маскувати критичні логічні помилки. Просто додайте відповідь до самого рядка, щоб отримати його рядкове представлення ("True"), або використовуйте форматування рядків приблизно так:
myvar = "the answer is %s" % answer
Зверніть увагу, що для відповіді потрібно встановити значення True
(великі літери важливі).
Використовуючи так звані f-рядки:
answer = True
myvar = f"the answer is {answer}"
Тоді якщо я це зроблю
print(myvar)
Я отримаю:
the answer is True
Мені подобаються f-рядки, тому що не потрібно турбуватися про порядок, у якому змінні відображатимуться у друкованому тексті, що допомагає у випадку, якщо у них є кілька змінних, які будуть надруковані як рядки.
відповідь = Правда
myvar = 'відповідь' + str (відповідь) # оскільки змінна відповіді знаходиться у логічному форматі, отже, ми повинні перетворити логічне значення у формат рядка, що можна легко зробити за допомогою цього
друк (myvar)
answer = “True”
myvars = “the answer is” + answer
print(myvars)
Це має дати вам відповідь True легко, оскільки ви зберегли відповідь у вигляді рядка за допомогою лапок