Строки - это просто последовательность символов, букв, специальных символов, пробелов и цифр

Мы можем использовать одинарные / двойные кавычки для представления строки

>>> x = “hello”
>>> x
‘hello’
>>> x = ‘hello’
>>> x
‘hello’

Причина использования одинарных или двойных кавычек в строке

>>> ‘I don’t know you’
 File “<stdin>”, line 1
 ‘I don’t know you’
 ^
SyntaxError: invalid syntax
>>> “I don’t know you”
“I don’t know you”

Операции со строками

Чтобы определить длину строки

>>> len(“hello”)
5

# Конкатенация выполняется с использованием оператора + (или, другими словами, мы можем сказать, что мы его перегрузили)

>>> "hello " + "world"
'hello world'

# Последовательная конкатенация в строке

>>> x = "hello "
>>> x * 3
'hello hello hello '

# Индексирование строки (начало индексации с нуля, а не с единицы)

>>> x[0]
‘h’

# Чтобы получить последний элемент

>>> x[-1]
'o'

# Попытка получить что-то вне зоны досягаемости

>>> x[5]
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
IndexError: string index out of range

# Мы можем разрезать строку

>>> x[0:3]
'hel'
# OR
>>> x[:3]
'hel'
# To grab everything
>>> x[:]
'hello'

# Мы также можем использовать join () для соединения строки

>>> “-”.join([“hello”,”how”,”are”,”you”])
‘hello-how-are-you’

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

>>> y
‘hello-how-are-you’
>>> y.split(“-”)
[‘hello’, ‘how’, ‘are’, ‘you’]
# Split by specific element
>>> x = "hello world"
>>> x.split('w')
['hello ', 'orld']

Метод #Partition () делит строку на три части вокруг разделителя (префикса, разделителя, суффикса)

>>> "hastalevista".partition("le")
('hasta', 'le', 'vista')

# Поскольку он возвращает кортеж, полезно деструктурировать результат

>>> x,y,z = “hastalevista”.partition(“le”)
>>> x
‘hasta’
>>> y
‘le’
>>> z
‘vista’

# Мы можем использовать _ как фиктивное имя для разделителя

>>> a,_,b = "hello-world".partition("-")
>>> a
'hello'
>>> b
'world'
>>> _
'-'

ОБРАТИТЕ ВНИМАНИЕ, что основное различие между разделением и разделением

# Partition based on first occurrence and return a seperator
>>> x.partition(‘l’)
(‘he’, ‘l’, ‘lo’)
# It split the string on every occurrence of 'l'
>>> x.split(‘l’)
[‘he’, ‘’, ‘o’]

# Format () используется для вставки значений в строки, заменяющие поля разделены символами {и}

>>> "My name is {0} and my age is {1}".format("Prashant",33)
'My name is Prashant and my age is 33'

Строковые методы

Объекты в Python обычно имеют встроенные методы. Эти методы представляют собой функции внутри объекта, которые могут выполнять действия или команды над самим объектом

  • Строка в верхнем регистре
>>> x
‘hello’
>>> x.upper()
‘HELLO’
  • Строка в нижнем регистре
>>> x.lower()
‘hello’
  • Сделать первое слово в строке заглавными
>>> x.capitalize()
‘Hello world’
  • Подсчитайте, сколько o в строке
>>> x.count(“o”)
2
  • Место первого появления o
>>> x.find(“o”)
4
  • isalnum () вернет True, если все символы в x являются буквенно-цифровыми.
>>> x.isalnum()
True
  • isalpha () вернет True, если все символы в x являются алфавитными.
>>> x.isalpha()
True
  • islower () вернет True, если все символы в регистре в x являются строчными, а в x есть хотя бы один символ в регистре, в противном случае - False.
>>> x.islower()
True
  • Чтобы проверить, заканчивается ли строка определенным символом
>>> x.endswith(‘o’)
True

ПРИМЕЧАНИЕ:

Будьте осторожны с операциями такого типа

  • Строки неизменны. После того, как они созданы, мы не можем их изменить.
>>> x
‘hello’
>>> x[0] = ‘y’
Traceback (most recent call last):
 File “<stdin>”, line 1, in <module>
TypeError: ‘str’ object does not support item assignment

Однако вы можете сделать это так

>>> x = “y” + x[1:]
>>> x
‘yello’
  • Умножение строки на строку, что приводит к ошибке
>>> “1” * “ab”
Traceback (most recent call last):
File “<stdin>”, line 1, in <module>
TypeError: can’t multiply sequence by non-int of type ‘str’
  • Ошибка вне допустимого диапазона, поскольку len начинается с нуля
>>> x = "hello"
>>> len(x)
5
>>> x[len(x)]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
  • Дело в Python (привет и HELLO не равны)
>>> x
'hello'
>>> x == "HELLO"
False
  • Некоторые хитрости, печатать все, кроме последнего символа
>>> x[:-1]
'hell'
  • Использование шага (печать с шагом 2)
>>> x[0:4:2]
'hl'
  • Знаменитый вопрос для собеседования (переверните строку ;-))
>>> x[::-1]
'olleh'

Упражнение

Что на выходе:

  1. “a” + “bc”
  2. В чем разница в выводе «ab» * 2 и «ab» * «2»
  3. В чем разница в выводе «abcde» [3] и «abcde» [5]
  4. В чем разница в выводе «abcde» [0: 2] против «abcde» [: 2] против «abcde» [2:]
  5. Если x = «привет», то что такое len (x) и x (len (x))

Итак, конец третьего дня. Если вы столкнулись с какой-либо проблемой, это ссылка на канал Python Slack https://devops-myworld.slack.com

Отправьте мне свои данные

  • Имя
  • Фамилия
  • Адрес электронной почты

на [email protected], чтобы я добавил вас в этот Slack-канал

С КОДИРОМ !!