#python
#питон
Вопрос:
Почему приведенный ниже код ведет себя по-другому ?
Код 1:
line = ' dd-- -- ' len1 = len(line) line2 = line.strip('') len2 = len(line2) print(line) print(line2) print(len1) print(len2)
выход:
dd-- -- dd-- -- 16 16
Код 2:
line = ' dd-- -- ' len1 = len(line) line2 = line.strip(' ') len2 = len(line2) print(line) print(line2) print(len1) print(len2)
выход:
dd-- -- dd-- -- 16 8
Комментарии:
1.
''
и' '
являются двумя разными аргументами иline.strip
ведут себя по — разному в каждом конкретном случае. Что вы считаете непоследовательным?2. Извини, я виноват. Я предполагал», оставив его по умолчанию. Спасибо
3. Аргумент по умолчанию
None
— «нет''
«.
Ответ №1:
strip
Функция принимает набор символов для удаления в качестве начальных/конечных символов. В первом случае вы передаете пустую строку, поэтому ничего не удаляется. Во втором случае вы вводите символ пробела, который удаляет 8 начальных/конечных пробелов. Поскольку пробел является символом по умолчанию для удаления, это было бы эквивалентно записи line.strip()
.
Комментарии:
1. Извини, я виноват. Я предполагал», оставив его по умолчанию. Спасибо