Друзья, если вам нужно перепечатать, пожалуйста, указывайте источник:blog.CSDN.net/Генерал сказал, о...
Отказ от ответственности: во время обучения технологии искусственного интеллекта многие студенты задавали мне некоторые вопросы, связанные с python, поэтому, чтобы дать студентам более обширные знания и лучшее понимание технологии искусственного интеллекта, я попросил своего помощника поделиться этой серией руководств по python. , Надеюсь помочь всем! Поскольку этот набор руководств по python написан не автором, он не такой смешной и юмористический, как мой курс по технологии искусственного интеллекта, и учиться по нему скучнее, но его очки знаний все еще на месте, и его тоже стоит прочитать. !
Обратите внимание, что в примере из предыдущей статьи не производилось никаких манипуляций по изменению исходной строки. Поскольку строки в Python неизменяемы, их нельзя изменить на месте после создания.
Например, вы не можете изменить строку, присвоив значение одной из ее позиций, но вы всегда можете создать новую строку и присвоить ей то же имя переменной:
.>>> S
'Спам'
.>>> S[0] = 'z' # Неизменяемые объекты не могут быть изменены
…текст ошибки опущен…
TypeError: объект 'str' не поддерживает назначение элемента
.>>> S = 'z' + S[1:] # Но мы можем запускать выражения для создания новых объектов
.>>> S
«зпам»
Каждый объект в Python можно классифицировать как неизменяемый или изменяемый. Среди основных типов неизменяемыми являются числа, строки и кортежи, а не списки и словари (они могут изменяться совершенно свободно). Помимо прочего, эту неизменность можно использовать для того, чтобы объект оставался фиксированным в программе.
Каждая операция со строками, которую мы изучили до сих пор, является общей операцией с последовательностью. Тем не менее, эти операции также работают с другими последовательностями в Python, включая списки и кортежи. Однако, в дополнение к общим операциям над последовательностями, строки имеют некоторые уникальные операции.
Например, метод find строки представляет собой базовую операцию поиска подстроки (он возвращает смещение переданной подстроки или -1, если она не найдена), а метод replace строки выполняет глобальный поиск и замену. выполняется.
.>>> S.find('pa') # Находим смещение подстроки
1
.>>> S
'Спам'
.>>> S.replace('pa','XYZ') # Замена одной подстроки на другую
«SXYZm»
.>>> S
'Спам'
Обратите внимание, что ни один из приведенных выше кодов не изменит исходную строку, но в результате создаст новую строку, потому что строки неизменяемы. Строковые методы станут инструментом номер один для обработки текста в Python. В дополнение к вышеперечисленным методам существуют и другие методы, позволяющие добиться разбиения строки на подстроки по разделителям, преобразования регистра, проверки содержимого строки (цифры, буквы и т. д.), удаления пробелов после строки и т. д.
.>>> строка = 'aaa,bbb,ccccc,dd'
.>>> line.split(',') # Разделить по разделителю на список подстрок
['ааа', 'ббб', 'ccccc', 'дд']
.>>> S = 'спам'
.>>> S.upper() # Преобразование верхнего и нижнего регистра
'СПАМ'
.>>> S.isalpha() # Тесты содержимого: isalpha,isdigit и т.д.
True
.>>> строка = 'aaa,bbb,ccccc,dd\n'
.>>> line = line.rstrip() # Удалить пробельные символы с правой стороны
.>>> line
«ааа, ббб, ссссс, дд»
Строки также поддерживают расширенную операцию замены, называемую форматированием:
.>>> '%s,яйца и %s' % ('spam','SPAM!') # Выражение форматирования (все)
«спам, яйца и СПАМ!»
.>>> '{0},яйца и {1}'.format('spam','SPAM!') # Метод форматирования (2.6,3.0)
«спам, яйца и СПАМ!»
Примечание. Хотя операции с последовательностями являются универсальными, методы — нет (хотя некоторые методы имеют одинаковые имена, строковые методы работают только со строками). Существует аккуратное эмпирическое правило: операции общего назначения, которые работают со многими типами, представлены в форме встроенных функций или выражений [например, len(X), X[0]], но операции, специфичные для типа, находятся в форме встроенных функций или выражений. форма вызова метода [например, aString.upper()].