Я читаю Справочник автостопов по Python и есть короткий фрагмент кода
foo = 'foo'
bar = 'bar'
foobar = foo + bar # This is good
foo += 'ooo' # This is bad, instead you should do:
foo = ''.join([foo, 'ooo'])
Автор указал, что ''.join()
не всегда быстрее, чем +
, поэтому он не против использования +
для конкатенации строк.
Но почему существует foo += 'ooo'
плохая практика, тогда как foobar=foo+bar
считается хорошей?
-
foo += bar
хорошо? -
foo = foo + 'ooo'
хорошо?
До этого фрагмента кода автор написал:
Последнее, что нужно сказать о строках, заключается в том, что использование join() не всегда лучше. В тех случаях, когда вы создаете новую строку из предварительно определенного числа строк, использование оператора сложения выполняется быстрее, но в случаях, подобных выше или в случаях, когда вы добавляете существующую строку, использование join() должно быть ваш предпочтительный метод.