Зачем использовать формат Python вместо нарезки?

Я унаследовал некоторый код Python, и во время обзора я обнаружил несколько случаев, в которых автор использует format нарезать строки, такие как:

someStr = 'ABCDEFG'
newStr1 = '{0}{1}{2}'.format(someStr[0], someStr[1], someStr[2])

Зачем им это делать, а не нарезать, например:

newStr2 = someStr[0:3]

Оба достигают одного и того же результата, даже при использовании левой числовой последовательности, такой как "012345" (что означает, что "012" создается, как и ожидалось, а не "12").

Мне кажется, что нарезка более интуитивно понятна, поэтому мне интересно, есть ли преимущество в использовании format?

1 ответ

Решение

Там нет преимущества использования str.format() здесь я понятия не имею, почему они это делают. Существует небольшая вероятность того, что они делали это, чтобы вызвать ошибку индексации, если строка ввода была короче 3 символов, но я бы ожидал явного комментария с указанием этого (и лично я бы сделал это явной проверкой).

Просто используйте ломтик:

newStr2 = somStr[:3]

Обратите внимание, что вы можете оставить 0 Вот; это по умолчанию. Если вы собираетесь обновить код (делайте это только при выполнении другого обслуживания), вы можете обновить его, используя руководство по стилю PEP-8, включая соглашения об именах. Локальные переменные должны использовать lower_case_with_underscoresне mixedCamelCase,

Другие вопросы по тегам