Я розумію, що ми повинні використовувати %s
для об'єднання рядка, а не +
в Python.
Я можу зробити що-небудь із:
hello = "hello"
world = "world"
print hello + " " + world
print "%s %s" % (hello, world)
print "{} {}".format(hello, world)
print ' '.join([hello, world])
Але чому я повинен використовувати щось, окрім як +
? Швидше написати конкатенацію простим +
. Потім , якщо ви подивитеся на рядок форматування, можна вказати типи , наприклад , %s
і %d
та такі. Я розумію, що може бути краще чітко сказати про тип.
Але потім я прочитав, що +
слід уникати використання конкатенації, навіть якщо це простіше набрати. Чи є чітка причина, що струни повинні бути об'єднані одним із інших способів?
%s
не для конкатенації, це специфікація перетворення для рядка форматування , отриманого з З - х printf(3)
. Існують випадки використання цього оператора конкатенації; яку ви використовуєте, має базуватися на судженнях ситуації, а не на догмі. Наскільки легко написати код зовсім не має значення, оскільки ви збираєтесь це робити лише один раз.
print(f"{hello} {world}")
, має читабельність конкатенації, оскільки змінні видно там, де вони зустрічаються в рядку, і швидше, ніж str.format
.