Python. Строки. Функции и методы

11.2.2.3 применять функции и методы обработки строк

Python. Строки. Функции и методы

Строка - индексированная последовательность символов.

Функция/Метод Пример Описание

s1 + s2

s1 += s2

s1 = "Hello "
s2 = "world"
s = s1 + s2 
print(s) # "Hello world"

Конкатенация строк значит, что в новой строке сначала записываются все символы s1, а затем все символы s2

s * n

s *= n

s1 = "Ла"
s = s1 * 4 
print(s)  # "ЛаЛаЛаЛа"

Строка s повторяется n раз
s1 in s2

s1 = "дом"
s2 = "рядом"
print(s1 in s2) # True
print("дон" in s2) # False

Проверяет содержит ли строка s2 подстроку s1
s1 not in s2

s1 = "дом"
s2 = "рядом"
print(s1 not in s2) # False
print("дон" not in s2) # True

Проверяет не содержит ли строка s2 подстроку s1
Тоже самое, что и not (s1 in s2)

len(s)

s = "школа"
print(len(s))  # 5

Определяет длину String
s[i]

'школа'[2] == 'о'
'школа'[-1] == 'а'
s = "звезда"
print(s[0]) # з
print(s[-2]) # д

i-ый элемент строки,
отрицательный i-ый элемент считается с конца строки
s[start:stop:step]

s = 'школа'

print(s[:2]) # 'шк'
print(s[1:4]) # 'кол'
print(s[::2]) # 'шоа'

Срез строки
s.count(s2, a1, an)

s = "abracadabra"
print(s.count("a"))  # 5
print(s.count("a", 2))  # 4
print(s.count("a", 2, 9))  # 3
s2 = "bra"
print(s.count(s2))  # 2

Метод count() возвращает количество вхождений подстроки в заданной строке.
s1.find(s2) 
s1.rfind(s2)

s = 'abracadabra'
print(s.find('bra'))  # 1
print(s.rfind('bra'))  # 8
print(s.find('bar'))  # -1

Определяет индекс начала первого или последнего вхождения подстроки s2 в s1
(будет возвращать -1 если s2 нет в s1)
s.startswith(s2) 
s.endswith(s2)
print('school'.startswith('sc')) # True
print('school'.endswith('ml')) # False

Проверяет начинается ли s с s2
или оканчивается s2

s.isdigit() 
 

s.isalpha()
 

s.isalnum()
 

print('123'.isdigit())  # True
print('12A'.isdigit())  # False

print('abc'.isalpha()) # True
print('ab3'.isalpha()) # False

print('E315'.isalnum()) #True
print('E3 15'.isalnum()) #False

Проверяет все ли символы строки являются цифрами,
 

буквами (включая Кириллицу),
 

цифрами или буквами
 

s.islower() 


s.isupper()
 

print('hi!'.islower()) # True
print("Uralsk".islower()) # False

print('PY123'.isupper()) # True
print('NuR%2'.isupper()) # False

Проверяет, что строка содержит только буквы в нижнем регистре (строчные),

верхнем регистре (прописные).
Обратите внимание, что для обеих этих функций знаки препинания и цифры дают True

s.lower() 

s.upper()

print('Привет!'.lower()) # привет!

print('Привет!'.upper()) # ПРИВЕТ!

Строка s, в которой все буквы преобразованы в нижний регистр (строчные)

или верхний регистр (прописные),
заменяются строчными или прописными буквами.

s.capitalize()

s.title()

print('welcome back'.capitalize())
# Welcome back

print('welcome back'.title())
# Welcome Back

Строка s, в котором первая буква заглавная

Строка s, в котором первая буква каждого слова заглавная.

s.lstrip() 

s.rstrip() 

s.strip()

print('  Welcome!  '.lstrip()) # 'Welcome!  '

print('  Welcome!  '.rstrip()) # '  Welcome!'

print('  Welcome!  '.strip()) # 'Welcome!'

В строке s удаляются пробеламы (табуляция) с начала,

в конце,

или с обеих сторон

s.ljust(k, c)
 

s.rjust(k, c)

print('Коммент'.ljust(10, '.'))  
# Коммент...

print('Коммент'.rjust(10, '.'))  
# ...Коммент

Добавляет необходимое количество слева

или справа
символов c чтобы получить длину строки k

s.join(a)

print('  '.join(['Computer', 'science']))
# Computer science

Склеивание строки из списка в одну строку s, через символ, указанный в кавычках ' '.join()

s.split(s2)

s = "Computer science"

print(s.split()) # ["Computer", "science"]
print(s.split('e')) # ["Comput", "r sci", "nc"]
print("12:25".split(":")) # ["12", "25"]

Список всех слов строки s (подстроки, разделенные строками s2)

s.replace(s2, s3)

s = "Касса"

print(s.replace('с', 'м')) # Камма
print(s.replace('с', 'м', 1)) # Камса

Строка s, в которой подстрока строка s2 заменяется на s3
Есть необязательный третий параметр, с помощью которого можно указать, сколько раз заменять

list(s)

s = "Школа"

print(list(s)) # ['Ш', 'к', 'о', 'л', 'а']

Список символов из строки s

bool(s)

s1 = "что-нибудь"
s2 = ""

print(bool(s1)) # True
print(bool(s2)) # False

Проверяет пустая ли строка. Возвращает True, если непустая строка и False, если пустая)

int(s) 

float(s)

s = "50"

print(int(s) + 4) # 54
print(float(s) + 4) # 54.0
print(int("54A")) # ValueError: invalid literal for int() with base 10: '54A'

Если строка s contains целое или вещественное (дробное) число,
получает число, в других случая выдает ошибку

str(x)

n = 37

print(str(n) + "2") # 372

Конвертирует любое значение x в строку

 


Вопросы:

1. Приведите и объясните назначение пяти функций/методов строк. 


Упражнения:

Упр. 1

Упр. 2 Определите результаты вывода (Designed by Mr. Halil Mali - CS teacher of NIS Uralsk)

Упр. 3 Определите результаты вывода (Designed by Mr. Halil Mali - CS teacher of NIS Uralsk)

Упр. 4 Определите результаты вывода (Designed by Mr. Halil Mali - CS teacher of NIS Uralsk)

Упр. 5 Определите результаты вывода (Designed by Mr. Halil Mali - CS teacher of NIS Uralsk)

Упр. 6 Определите результаты вывода (Designed by Mr. Halil Mali - CS teacher of NIS Uralsk)


Задачи:

Категория: Algorithms | Добавил: bzfar77 (01.02.2023)
Просмотров: 1772 | Теги: split(), Python, Методы, функции, join(), срезы, конкатенация | Рейтинг: 0.0/0
Всего комментариев: 0
avatar