Similar presentations:
Строковые методы
1.
СТРОКОВЫЕМЕТОДЫ
2.
МЕТОДЫ СТРОКМетоды похожи на функции, но вызываются не
сами по себе, а для конкретной переменной.
Для каждого типа данных есть свой набор
методов. Чтобы вызвать метод, его нужно
указать через точку после имени переменной. В
круглых скобках после имени метода
дополнительно можно обозначить аргументы
(параметры) вызываемого метода. Рассмотрим
методы строк.
3.
МЕТОД ISLOWER()Метод islower(), который проверяет, что в строке не
встречаются большие буквы, и возвращает в таком случае
значение True, иначе — False:
print("а".islower())
print("A".islower())
True
False
4.
МЕТОД CAPITALIZE()Возвращает копию строки, у которой первая буква заглавная, а
остальные приведены к строчным:
s = "hello, World!"
s.capitalize()
Hello, world!
5.
МЕТОД REPLACE()Настоящей операции вычитания строк, по аналогии с числами, в Python
не существует — мы не сможем отнять символы из строки с помощью
операции −. Но можно использовать метод replace().
Он создаёт новую строку путём замены частей исходной строки. Лучше
всего показать это на примере. Попробуем удалить часть слова, заменив
её пустой строкой:
# Вычтем часть "box" из строки "Skillbox"
s1 = 'Skillbox'
s2 = 'box'
s3 = s1.replace(s2, '') # Передаём методу два аргумента — то, что хотим убрать из
строки, и то, на что планируем заменить удалённый фрагмент
print(s3)
В результате получим:
Skill
6.
МЕТОД COUNT()Возвращает количество неперекрывающихся вхождений подстроки sub. К
примеру, если искать в строке «ААААА» неперекрывающиеся значения
«АА», то первое вхождение будет «AAAAA». Второе — «AAAAA». Больше
неперекрывающихся вхождений нет. Так, поиск последующих вхождений
подстроки происходит с индекса, который следует за последним найденным
вхождением.
s = "Hello, world!"
s.count("l")
3
7.
МЕТОД FIND()Возвращает индекс первого совпавшего значения подстроки. Если
подстрока не найдена, то возвращает -1
s = 'SkillboxSkillbox'
str = 'box'
print(s.find(str)) # Возвращает индекс
первого совпавшего значения
подстроки print
8.
МЕТОД RFIND()Возвращает индекс последнего совпавшего значения
подстроки
s = 'SkillboxSkillbox'
str = 'box'
(s.rfind(str)) # Возвращает индекс последнего совпавшего
значения подстроки
Результат выполнения кода:
5 13
Если подстроки в строке нет, Python возвращает −1:
S = 'SkillboxSkillbox'
print(S.rfind('abc'))
Результат:
-1
9.
МЕТОДЫ ПРЕОБРАЗОВАНИЯСИМВОЛОВ СТРОКИ В ВЕРХНИЙ
И НИЖНИЙ РЕГИСТРЫ
Для преобразования используются два метода:
S.upper() — преобразование всех символов строки S в верхний регистр.
S.lower() — преобразование всех символов строки S в нижний регистр.
И тот и другой метод возвращают новую строку, а исходная остаётся
прежней.
Например:
S = 'Skillbox 23'
print(S.upper()) # Переводит все символы в верхний регистр print(S.lower()) #
Переводит все символы в нижний регистр print(S) # Проверяем значение
исходной строки
В результате получим:
SKILLBOX 23
skillbox 23
Skillbox 23
Если мы хотим сохранить результат, то результат выполнения метода надо
присвоить новой переменной.
10.
МЕТОД РАЗБИЕНИЯ СТРОКИПО РАЗДЕЛИТЕЛЮ
Для разбиения строки по разделителю используется метод split().
Посмотрим на него в коде:
S = 'Cat, Dog,Hamster Rabbit, Pig'
print(S.split()) # Разделитель не задан. Метод разбивает строку по
пробельным символам — пробелу и знаку табуляции
print(S.split(',')) # Разбивает строку по заданному разделителю ','
print(S.split(',', 2)) # Задаёт максимальное количество разбиений,
равное 3
Результат:
['Cat,', 'Dog,Hamster', 'Rabbit,', 'Pig']
['Cat', ' Dog', 'Hamster Rabbit', ' Pig']
['Cat', ' Dog', 'Hamster Rabbit, Pig']
11.
МЕТОД JOIN()Метод join() собирает строку из элементов списка, используя в
качестве разделителя строку, к которой применяется метод.
Рассмотрим примеры:
words = ['Мы', 'учим', 'язык', 'Python']
print('*'.join(words))
print('-'.join(words))
print('?'.join(words))
print('!'.join(words))
print('*****'.join(words))
print('abc'.join(words))
print('123'.join(words))
Приведённый выше код выводит:
Мы*учим*язык*Python
Мы-учим-язык-Python
Мы?учим?язык?Python
Мы!учим!язык!Python
Мы*****учим*****язык*****Python
МыabcучимabcязыкabcPython
Мы123учим123язык123Python
12.
МЕТОДЫ RJUST() И LJUST()S = 'Hi!'
print(S.rjust(10,'*')) # Увеличивает длину строки до 10 и
заполняет пробелы слева символами '*'
print(S.ljust(10,'*')) # Увеличивает длину строки до 10 и
заполняет пробелы справа символами '*'
В результате выполнения получим:
*******Hi!
Hi!*******
13.
14.
КОДИРОВКАНа самом глубоком уровне компьютер оперирует исключительно цифрами 0 и 1. Это так
называемый двоичный код, а единички и нули называются битами, от "binary digit" —
«двоичная цифра».
Обычные, привычные нам числа в десятичной системе исчисления, закодированы с помощью
двоичных чисел:
0←0
1←1
2 ← 10
3 ← 11
4 ← 100
5 ← 101
Но как быть с текстом? Компьютер на самом деле не знает ничего о буквах, знаках пунктуации
и прочих текстовых символах. Все эти символы так же закодированы числами.
Можно взять английский алфавит и дать каждой букве число, начиная с единицы по порядку:
a←1
b←2
c←3
d←4
...
z ← 26
В этом заключается суть кодировок.
15.
КОДИРОВКАВо время своей работы, программы используют кодировки для преобразования
чисел в символы и наоборот. Причём сама программа не имеет представления о
смысле этих символов.
hello → 8 5 12 12 15
7 15 15 4 → good
Подобные таблицы, в которых сопоставляются буквы и числа, называются
кодировками. Кроме букв алфавита, в таблицы кодировок входят знаки препинания и
другие полезные символы. Вы наверняка сталкивались с кодировками,
например, ASCII или UTF-8.
В Python можно «запросить» и вывести на экран любой символ из кодировки ASCII.
Для этого используется функция chr(). Например:
print(chr(63))
16.
ASCII TABLE17.
ЗАДАЧИ1. Используя пример выше и таблицу, выведите на экран (каждый на своей
собственной строке) ~, ^ и %.
2. Напишите программы, которые используют все вышеуказанные строковые
методы.
3. Подсчет количества слов в строке
Написать функцию, которая подсчитывает количество слов в строке. Это полезно
при анализе текстовых данных, например, для подсчета слов в статье или
сообщении.
4. Проверка, является ли строка палиндромом
Задача: Написать функцию, которая проверяет, является ли строка палиндромом
(читается одинаково в обоих направлениях). Это полезно при разработке алгоритмов
для проверки симметрии текста или анализа данных.
5. Замена всех цифр в строке на символ *
Написать функцию, которая заменяет все цифры в строке на символ * . Это полезно
при обработке конфиденциальных данных, таких как номера телефонов или
кредитных карт.
programming