Зачем использовать формат 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
,