строки в Питон. строки ПИТОН. Строки (String)
Скачать 64.38 Kb.
|
Строки (String)До сих пор мы обсуждали числа как стандартные типы данных в Python. В этом разделе учебника мы рассмотрим самый популярный тип данных в Python - строку. Строка в Python - это набор символов, окруженных одинарными, двойными или тройными кавычками. Компьютер не понимает символы; внутри он хранит управляемый символ как комбинацию 0 и 1 .Каждый символ кодируется в ASCII или Unicode. Поэтому можно сказать, что строки Python также называют коллекцией символов Unicode. В Python строки можно создавать, заключая символ или последовательность символов в кавычки. Python позволяет нам использовать одинарные, двойные или тройные кавычки для создания строки. Рассмотрим следующий пример на языке Python для создания строки. str = "Hi Python !" Если мы проверим тип переменной str с помощью сценария Python print(type(str)) , то будет выведено:
В Python строки рассматриваются как последовательность символов, что означает, что Python не поддерживает символьный тип данных; вместо этого один символ, записанный как p , рассматривается как строка длины 1 .Создание строки в PythonМы можем создать строку, заключив символы в одинарные или двойные кавычки. Python также предоставляет тройные кавычки для представления строки, но они обычно используются для многострочных строк или документов. #Using single quotes str1 = 'Hello Python' print(str1) #Using double quotes str2 = "Hello Python" print(str2) #Using triple quotes str3 = '''''Triple quotes are generally used for represent the multiline or docstring''' print(str3) Вывод: Hello Python Hello Python Triple quotes are generally used for represent the multiline or docstring Индексация и разбиение строк в PythonКак и в других языках, индексация строк в Python начинается с 0 . Например, строка "HELLO" индексируется так, как показано на рисунке ниже.Рассмотрим следующий пример: str = "HELLO" print(str[0]) print(str[1]) print(str[2]) print(str[3]) print(str[4]) # It returns the IndexError because 6th index doesn't exist print(str[6]) Вывод: H E L L O IndexError: string index out of range В Python мы можем использовать оператор : (двоеточие) для доступа к подстроке из заданной строки. Рассмотрим следующий пример.Здесь мы должны заметить, что верхний диапазон, заданный в операторе slice , всегда является эксклюзивным, т.е. если задано str = 'HELLO' , то str[1:3] всегда будет включать str[1] = 'E' , str[2] = 'L' и ничего больше.Рассмотрим следующий пример: # Given String str = "JAVATPOINT" # Start Oth index to end print(str[0:]) # Starts 1th index to 4th index print(str[1:5]) # Starts 2nd index to 3rd index print(str[2:4]) # Starts 0th to 2nd index print(str[:3]) #Starts 4th to 6th index print(str[4:7]) Вывод: JAVATPOINT AVAT VA JAV TPO Мы можем сделать отрицательную нарезку в строке; она начинается с самого правого символа, который обозначается как -1 . Второй крайний правый индекс обозначает -2 , и так далее. Рассмотрим следующее изображение.Рассмотрим следующий пример str = 'JAVATPOINT' print(str[-1]) print(str[-3]) print(str[-2:]) print(str[-4:-1]) print(str[-7:-2]) # Reversing the given string print(str[::-1]) print(str[-12]) Вывод: T I NT OIN ATPOI TNIOPTAVAJ IndexError: string index out of range Переназначение строкОбновить содержимое строки так же просто, как присвоить его новой строке. Объект string не поддерживает присваивание элементов, т.е. строка может быть заменена только новой строкой, поскольку ее содержимое не может быть частично заменено. В Python строки неизменяемы. Рассмотрим следующий пример. Пример 1 str = "HELLO" str[0] = "h" print(str) Вывод: Traceback (most recent call last): File "12.py", line 2, in str[0] = "h"; TypeError: 'str' object does not support item assignment Однако в примере 1 строка str может быть полностью присвоена новому содержимому, как указано в следующем примере.Пример 2 str = "HELLO" print(str) str = "hello" print(str) Вывод: HELLO hello Удаление строки в PythonКак мы знаем, строки неизменяемы. Мы не можем удалить или убрать символы из строки. Но мы можем удалить всю строку, используя ключевое слово del .Пробуем удалить часть строки: str = "JAVATPOINT" del str[1] Вывод: TypeError: 'str' object doesn't support item deletion Теперь мы пробуем удалить всю строку: str1 = "JAVATPOINT" del str1 print(str1) Вывод: NameError: name 'str1' is not defined Строковые операторы в Python
Рассмотрим следующий пример, чтобы понять использование операторов Python. str = "Hello" str1 = " world" print(str*3) # prints HelloHelloHello print(str+str1)# prints Hello world print(str[4]) # prints o print(str[2:4]); # prints ll print('w' in str) # prints false as w is not present in str print('wo' not in str1) # prints false as wo is present in str1. print(r'C://python37') # prints C://python37 as it is written print("The string str : %s"%(str)) # prints The string str : Hello Вывод: HelloHelloHello Hello world o ll False False C://python37 The string str : Hello Форматирование строк в PythonЭкранирование последовательностиДопустим, нам нужно записать текст в виде - They said, "Hello what's going on?"- данное утверждение может быть записано в одинарных или двойных кавычках, но оно вызовет SyntaxError , так как содержит как одинарные, так и двойные кавычки.Рассмотрим следующий пример, чтобы понять реальное использование операторов Python. str = "They said, "Hello what's going on?"" print(str) Вывод: SyntaxError: invalid syntax Мы можем использовать тройные кавычки для решения этой задачи, но Python предоставляет возможность экранировать нашу последовательнсть символов. Символ обратной косой черты ( / ) обозначает escape последовательность. За обратной косой чертой может следовать специальный символ, который интерпретируется по-разному. Одинарные кавычки внутри строки должны быть экранированы. Мы можем применить то же самое, что и в случае с двойными кавычками.# using triple quotes print('''''They said, "What's there?"''') # escaping single quotes print('They said, "What\'s going on?"') # escaping double quotes print("They said, \"What's going on?\"") Вывод: They said, "What's there?" They said, "What's going on?" They said, "What's going on?" Ниже приведен список управляющих последовательностей для экранирования:
Вот простой пример использования escape-последовательности. print("C:\\Users\\DEVANSH SHARMA\\Python32\\Lib") print("This is the \n multiline quotes") print("This is \x48\x45\x58 representation") Вывод: C:\Users\DEVANSH SHARMA\Python32\Lib This is the multiline quotes This is HEX representation Мы можем игнорировать управляющую последовательность из заданной строки, используя необработанную строку. Для этого перед строкой нужно написать r или R . Рассмотрим следующий пример.print(r"C:\\Users\\DEVANSH SHARMA\\Python32") Вывод: C:\\Users\\DEVANSH SHARMA\\Python32 Метод format() в pythonМетод format() является наиболее гибким и полезным методом форматирования строк. Фигурные скобки {} используются в качестве заполнителя строки и заменяются аргументом метода format() . Рассмотрим приведенный пример:# Using Curly braces print("{} and {} both are the best friend".format("Devansh","Abhishek")) #Positional Argument print("{1} and {0} best players ".format("Virat","Rohit")) #Keyword Argument print("{a},{b},{c}".format(a = "James", b = "Peter", c = "Ricky")) Вывод: Devansh and Abhishek both are the best friend Rohit and Virat best players James,Peter,Ricky Форматирование строк в Python с помощью оператора %Python позволяет нам использовать спецификаторы формата, используемые в операторе printf языка Си . Спецификаторы формата в Python обрабатываются так же, как и в C. Однако Python предоставляет дополнительный оператор % , который используется в качестве интерфейса между спецификаторами формата и их значениями. Другими словами, можно сказать, что он связывает спецификаторы формата со значениями.Рассмотрим следующий пример. Integer = 10; Float = 1.290 String = "Devansh" print("Hi I am Integer ... My value is %d\nHi I am float ... My value is %f\nHi I am string ... My value is %s"%(Integer,Float,String)) Вывод: Hi I am Integer ... My value is 10 Hi I am float ... My value is 1.290000 Hi I am string ... My value is Devansh Строковые функции в PythonPython предоставляет различные встроенные функции, которые используются для работы со строками.
|