Основные методы строк

Произвольные выражения

Так как f-строки оцениваются по мере выражения, вы можете внести любую или все доступные выражения Python в них. Это позволит вам делать интересные вещи, например следующее:

Python

print(f»{2 * 37}»)
# Вывод: ’74’

1
2

print(f»{2 * 37}»)

# Вывод: ’74’

Также вы можете вызывать функции. Пример:

Python

def to_lowercase(input):
return input.lower()

name = «Eric Idle»

print(f»{to_lowercase(name)} is funny.»)
# Вывод: ‘eric idle is funny.’

1
2
3
4
5
6
7

defto_lowercase(input)

returninput.lower()

name=»Eric Idle»

print(f»{to_lowercase(name)} is funny.»)

# Вывод: ‘eric idle is funny.’

Также вы можете вызывать метод напрямую:

Python

print(f»{name.lower()} is funny.»)
# Вывод: ‘eric idle is funny.’

1
2

print(f»{name.lower()} is funny.»)

# Вывод: ‘eric idle is funny.’

Вы даже можете использовать объекты, созданные из классов при помощи f-строки. Представим, что у вас есть следующий класс:

Python

class Comedian:
def __init__(self, first_name, last_name, age):
self.first_name = first_name
self.last_name = last_name
self.age = age

def __str__(self):
return f»{self.first_name} {self.last_name} is {self.age}.»

def __repr__(self):
return f»{self.first_name} {self.last_name} is {self.age}. Surprise!»

1
2
3
4
5
6
7
8
9
10
11

classComedian

def__init__(self,first_name,last_name,age)

self.first_name=first_name

self.last_name=last_name

self.age=age

def__str__(self)

returnf»{self.first_name} {self.last_name} is {self.age}.»

def__repr__(self)

returnf»{self.first_name} {self.last_name} is {self.age}. Surprise!»

Вы могли бы сделать следующее:

Python

new_comedian = Comedian(«Eric», «Idle», «74»)

print(f»{new_comedian}»)
# Вывод: ‘Eric Idle is 74.’

1
2
3
4

new_comedian=Comedian(«Eric»,»Idle»,»74″)

print(f»{new_comedian}»)

# Вывод: ‘Eric Idle is 74.’

Методы __str__() и __repr__() работают с тем, как объекты отображаются в качестве строк, так что вам нужно убедиться в том, что вы используете один из этих методов в вашем определении класса. Если вы хотите выбрать один, попробуйте __repr__(), так как его можно использовать вместо __str__().

Строка, которая возвращается __str__() является неформальным строковым представлением объекта и должна быть читаемой. Строка, которую вернул __str__() — это официальное выражение и должно быть однозначным. При вызове str() и repr(), предпочтительнее использовать __str__() и __repr__() напрямую.

По умолчанию, f-строки будут использовать __str__(), но вы должны убедиться в том, что они используют __repr__(), если вы включаете флаг преобразования !r:

Python

print(f»{new_comedian}»)
# Вывод: ‘Eric Idle is 74.’

print(f»{new_comedian!r}»)
# Вывод: ‘Eric Idle is 74. Surprise!’

1
2
3
4
5

print(f»{new_comedian}»)

# Вывод: ‘Eric Idle is 74.’
 

print(f»{new_comedian!r}»)

# Вывод: ‘Eric Idle is 74. Surprise!’

Если вы хотите прочитать часть обсуждения, в результате которого f-strings поддерживают полные выражения Python, вы можете сделать это здесь.

Основные строковые функции

capitalize() Преобразует первый символ строки в верхний регистр str_name.capitalize()
casefold() Он преобразует любую строку в нижний регистр независимо от ее регистра str_name.casefold()
center() Используется для выравнивания строки по центру str_name.center (длина, символ)
count() Для подсчета количества раз, когда определенное значение появляется в строке. str_name.count (значение, начало, конец)
endswith() Проверяет, заканчивается ли строка указанным значением, затем возвращает True str_name.endswith (значение, начало, конец)
find() Используется для определения наличия указанного значения в строке str_name.find (значение, начало, конец)
index() Он используется для поиска первого вхождения указанного значения в строке str_name.index (значение, начало, конец)
isalnum() Проверяет, все ли символы являются буквенно-цифровыми, затем возвращает True str_name.isalnum()
isalpha() Проверяет, все ли символы являются алфавитными (az), затем возвращает True str_name.isalpha()
isdecimal() Проверяет, все ли символы являются десятичными (0-9), затем возвращает True str_name.isdecimal()
isdigit() Проверяет, все ли символы являются цифрами, затем возвращает True str_name.isdigit()
islower() Проверяет, все ли символы в нижнем регистре, затем возвращает True str_name.islower()
isnumeric() Проверяет, все ли символы являются числовыми (0-9), затем возвращает True str_name.isnumeric()
isspace() Проверяет, все ли символы являются пробелами, затем возвращает True str_name.isspace()
isupper() Проверяет, все ли символы в верхнем регистре, затем возвращает True str_name.isupper()
lower() Используется для преобразования всех символов в нижний регистр str_name.lower()
partition() Используется для разделения строки на кортеж из трех элементов. str_name.partition (значение)
replace() Используется для замены указанного слова или фразы другим словом или фразой в строке. str_name.replace (старое значение, новое значение, количество)
split() Используется для разделения строки на список str_name.split (разделитель, maxsplit)
splitlines() Используется для разделения строки и составления ее списка. Разбивается на разрыв строки. str_name.splitlines (keeplinebreaks)
startswith() Проверяет, начинается ли строка с указанного значения, затем возвращает True str_name.startswith (значение, начало, конец)
strip() Используется для удаления символов, указанных в аргументе, с обоих концов str_name.strip (символы)
swapcase() Используется для замены строки верхнего регистра на нижний регистр или наоборот. str_name.swapcase()
title() Преобразует начальную букву каждого слова в верхний регистр str_name.title()
upper() Он используется для преобразования всех символов в строке в верхний регистр str_name.upper()

Разделить строки?

Есть несколько способов получить часть строки. Первый — это , обратный метод для . В отличие от ’а, он применяется к целевой строке, а разделитель передаётся аргументом.

Второй — срезы (slices).

Срез s позволяет получить подстроку с символа x до символа y. Можно не указывать любое из значений, чтобы двигаться с начала или до конца строки. Отрицательные значения используются для отсчёта с конца (-1 — последний символ, -2 — предпоследний и т.п.).

При помощи необязательного третьего параметра s можно выбрать из подстроки каждый N-ый символ. Например, получить только чётные или только нечётные символы:

Строки нарезки в Python – примеры

Струны нарезки Python могут быть сделаны по-разному.

Обычно мы получаем доступ к строковым элементам (символам) с помощью простой индексации, которая начинается с до N-1 (n – длина строки). Следовательно, для доступа к 1-й Элемент строки Мы можем просто использовать код ниже.

s1 = String1

Опять же, есть еще один способ получить доступ к этим персонажам, то есть используя Отрицательная индексация Отказ Отрицательная индексация начинается с -1 к -n (n – длина для данной строки). Примечание, отрицательная индексация выполняется с другого конца строки. Следовательно, для доступа к первому символу на этот раз нам нужно следовать указанному ниже коду.

s1 = String1

Теперь давайте рассмотрим некоторые способы, следующие, которые мы можем нарезать строку, используя вышеуказанную концепцию.

1. Строки нарезки в Python с началом и концом

Мы можем легко нарезать данную строку, упомянувая начальные и окончательные индексы для желаемой подковы, которую мы ищем. Посмотрите на приведенный ниже пример, он объясняет нарезку строк, используя начальные и окончательные индексы для обычной, так и для негативного метода индексации.

#string slicing with two parameters
s = "Hello World!"

res1 = s
res2 = s #using negative indexing

print("Result1 = ",res1)
print("Result2 = ",res2)

Выход :

Result1 =  llo Wo
Result2 =  rld

Здесь,

  • Мы инициализируем строку, как “Привет мир!” ,
  • Сначала мы нарезаем данную строку с начальным индексом 2 и окончание индекса как 8 Отказ Это означает, что результирующая подконта будет содержать символы из S к S ,
  • Аналогично, для следующего, результирующая подкора должна содержать символы из S к S Отказ

Следовательно, наш выход оправдан.

2. Струки срез, используя только начало или конец

Как упоминалось ранее, все три параметра для нарезки строки являются необязательными. Следовательно, мы можем легко выполнить наши задачи с использованием одного параметра. Посмотрите на код ниже, чтобы получить четкое понимание.

#string slicing with one parameter
s1= "Charlie"
s2="Jordan"

res1 = s1 #default value of ending position is set to the length of string
res2 = s2 #default value of starting position is set to 0

print("Result1 = ",res1)
print("Result2 = ",res2)

Выход :

Result1 =  arlie
Result2 =  Jord

Здесь,

Сначала инициализируем две строки, S1 и S2 , Для нарезки их обоих мы просто упомяну о start_pos Для S1 и End_Pos только для S2, Следовательно, для RES1 , он содержит подконтную строку S1 из индекса 2 (как упоминалось) до последнего (по умолчанию он устанавливается на N-1)

Принимая во внимание, что для RES2 диапазон индексов лежит от 0 до 4 (упомянутых).

3. Строки нарезки в Python со ступенчатым параметром

Значение решает прыжок операции нарезки займет из одного индекса к другому. Посмотрите на пример ниже.

#string slicing with step parameter
s= "Python"
s1="Kotlin"

res = s
res1 = s1 #using negative parameters

print("Resultant sliced string = ",res)
print("Resultant sliced string(negative parameters) = ",res1)

Выход :

Resultant sliced string =  Pto
Resultant sliced string(negative parameters) =  nl

В коде выше,

  • Мы инициализируем две строки S и S1 и попытайтесь нарезать их за данные начальные и окончательные индексы, как мы сделали для нашего первого примера,
  • Но на этот раз мы упомянули шаг значение, которое было установлено на 1 по умолчанию для предыдущих примеров,
  • Для RES, имеющих размер шага 2 означает, что, в то время как прохождение для получения подстроки от индекса от 0 до 4, каждый раз, когда индекс будет увеличен по значению 2. То есть первый символ S («P») следующие символы в подпологе будут S и S до тех пор, пока индекс не будет меньше 5.
  • Для следующего я. RES1 Упомянутый шаг (-2). Следовательно, похоже на предыдущий случай, персонажи в подстроке будут S1 Тогда S1 или S1 до тех пор, пока индекс не будет меньше (-4).

4. Реверсируя строку с помощью нарезки в Python

С использованием отрицательной индексной строки нарезки в Python мы также можем поменять строку и хранить ее в другой переменной. Для этого нам просто нужно упомянуть Размер (-1) Отказ

Давайте посмотрим, как это работает в приведенном ниже примере.

#reversing string using string slicing
s= "AskPython"
rev_s = s #reverse string stored into rev_s

print(rev_s)

Выход :

nohtyPksA

Как мы видим, строка S обращается и хранится в Отказ Примечание : Для этого тоже исходная строка остается неповрежденной и нетронутой.

Добавить комментарий

Ваш адрес email не будет опубликован. Обязательные поля помечены *

Adblock
detector