В питоне говорят, что у вас есть
s = "string"
i = 0
print s+i
даст вам ошибку, так что вы пишете
print s+str(i)
чтобы не получить ошибку.
Я думаю, что это довольно неуклюжий способ обработки конкатенации int и string. Даже Java не нуждается в явном приведении к String для такого рода конкатенации. Есть ли лучший способ сделать этот вид конкатенации, то есть без явного приведения в Python?
python
concatenation
string-concatenation
specialscope
источник
источник
"1" + 1
,2
или"11"
и почему?s+str(i)
и ты прав!Ответы:
Современное форматирование строки:
источник
str.format
Метод был введен в Python 3.0 и портированном в Python 2.6 и позже (см stackoverflow.com/a/792745/4648642 )Нет форматирования строки:
источник
print()
функцию v3 и не устанавливаете некоторые из ее параметров.Форматирование строки с использованием
.format()
метода нового стиля (с настройками по умолчанию .format () ):Или старшего, но «все еще торчащего», -
%
форматирующегоВ обоих приведенных выше примерах нет места между двумя соединенными элементами. Если требуется место, его можно просто добавить в строки формата.
Они обеспечивают большой контроль и гибкость в отношении того, как объединять элементы, пространство между ними и т. Д. Подробную информацию о спецификациях формата см . Здесь.
источник
Python является интересным языком в том смысле, что, хотя обычно есть один (или два) «очевидных» способа выполнить любую заданную задачу, гибкость все еще существует.
Приведенный выше фрагмент кода написан в синтаксисе Python3, но круглые скобки после печати всегда разрешались (необязательно), пока версия 3 не сделала их обязательными.
Надеюсь это поможет.
Кейтлин
источник
Метод format () может использоваться для объединения строк и целых чисел
источник
если вы только хотите напечатать, вы можете сделать это:
источник
в Python 3.6 и новее вы можете отформатировать его так:
или просто:
источник