Строки - это просто последовательность символов, букв, специальных символов, пробелов и цифр
Мы можем использовать одинарные / двойные кавычки для представления строки
>>> 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'
Упражнение
Что на выходе:
- “a” + “bc”
- В чем разница в выводе «ab» * 2 и «ab» * «2»
- В чем разница в выводе «abcde» [3] и «abcde» [5]
- В чем разница в выводе «abcde» [0: 2] против «abcde» [: 2] против «abcde» [2:]
- Если x = «привет», то что такое len (x) и x (len (x))
Итак, конец третьего дня. Если вы столкнулись с какой-либо проблемой, это ссылка на канал Python Slack https://devops-myworld.slack.com
Отправьте мне свои данные
- Имя
- Фамилия
- Адрес электронной почты
на [email protected], чтобы я добавил вас в этот Slack-канал
С КОДИРОМ !!