Python String
строка
В Python есть встроенный класс строк с именем "str" со многими полезными функциями. Строковые литералы могут быть заключены в одинарные или двойные, хотя чаще используются одинарные кавычки.
Экранирование с обратной косой чертой работает обычным образом как с одинарными, так и с двойными кавычками - например, / n / '/ ". Строковый литерал с двойными кавычками может содержать одинарные кавычки без суеты (например," Я бы не был художником ") и аналогично синглом строка в кавычках может содержать двойные кавычки.
Строковый литерал может занимать несколько строк, использовать тройные кавычки, чтобы начинать и заканчивать их. Вы также можете использовать одинарные кавычки, но в конце каждой строки должна быть обратная косая черта /, чтобы избежать перехода на новую строку.
Содержание:
Инициализируйте строковые литералы в Python :
>>> s ="Python string"
>>> print(s)
Python string
>>> #using single quote and double quote
>>> s ="A Poor Woman's Journey."
>>> print(s)
A Poor Woman's Journey.
>>> s ="I read the article, 'A Poor Woman's Journey.'"
>>> print(s)
I read the article, 'A Poor Woman's Journey.'
>>> s ='dir "c:\&temp\*.sas" /o:n /b > "c:\&temp\abc.txt"'
>>> print(s)
dir "c:\&temp\*.sas" /o:n /b > "c:\&tempbc.txt"
>>> #print multiple lines
>>> s = """jQuery exercises
JavaScript tutorial
Python tutorial and exercises ..."""
>>> print(s)
jQuery exercises
JavaScript tutorial
Python tutorial and exercises ...
>>> s ='jQuery exercises\n JavaScript tutorial\n Python tutorial and exercises ...'
>>> print(s)
jQuery exercises
JavaScript tutorial
Python tutorial and exercises ...
>>>
Получить доступ к символам из строки :
Доступ к символам в строке возможен с использованием стандартного синтаксиса [], и, как и в Java и C ++, Python использует индексацию с нуля, поэтому если str равен 'hello', str [2] равен 'l'. Если индекс находится за пределами строки, Python вызывает ошибку.
>>> a ="Python string"
>>> print (a)
Python string
>>> b = a[2]
>>> print(b)
t
>>> a[0]
'P'
>>>
Пояснение:
- Вышеприведенный оператор выбирает символ в позиции номер 2 из a и назначает его для b.
- Выражение в скобках называется индексом, который указывает, какой символ нам интересен.
- Индекс - это смещение от начала строки, а смещение первой буквы равно нулю.
Мы можем использовать любое выражение, включая переменные и операторы, в качестве индекса
>>> a ="Python string"
>>> b = a[4+3]
>>> print(b)
s
>>>
Значение индекса должно быть целым числом.
>>> a ="Python string"
>>> a[2.3]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: string indices must be integers
>>>
Отрицательные показатели :
В качестве альтернативы, мы можем использовать отрицательные индексы, которые отсчитываются от конца
Индекс -1 дает последний символ.
>>> a ="Python string"
>>> a[-2]
'n'
>>> a[-8]
'n'
>>>
Строки Python являются неизменяемыми :
- Строки Python являются «неизменяемыми», что означает, что они не могут быть изменены после их создания.
- Поэтому мы не можем использовать оператор [] в левой части присваивания.
- Мы можем создать новую строку, которая является вариацией оригинала.
>>> a ="PYTHON"
>>> a[0] ="x"
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
TypeError: 'str' object does not support item assignment
>>> a ="PYTHON"
# Concatenates a new first letter on to a slice of greeting.
>>> b ="X" + a[1:]
>>> print(b)
XYTHON
# It has no effect on the original string.
>>> print(a)
PYTHON
>>>
Конкатенация строк Python :
Оператор «+» используется для объединения двух строк.
>>> a ="Python" + "String"
>>> print(a)
PythonString
>>>
Вы также можете использовать + = для объединения двух строк.
>>> a ="Java"
>>> b ="Script"
>>> a+=b
>>> print(a)
JavaScript
>>>
Используя оператор '*' :
>>> a ="Python" + "String"
>>> b ="<" + a*3 + ">"
>>> print(b)
<PythonStringPythonStringPythonString>
>>>
Длина строки:
len () - это встроенная функция, которая возвращает количество символов в строке:
>>> a ="Python string"
>>> len(a)
13
>>> a[13]
Traceback (most recent call last):
File "<stdin>", line 1, in <module>
IndexError: string index out of range
>>> a[12]
'g'
>>>
Строка перемещения с циклом while или for
- Многие вычисления включают обработку строки символ за символом за раз.
- Они начинаются с начала, выбирают каждого персонажа, по очереди, что-то с ним делают и продолжаются до конца.
- Эта схема обработки называется обходом.
- Можно пройти строку с циклом while или for:
Код:
a ="STRING"
i = 0
while i < len(a):
c = a[i]
print(c)
i = i + 1
Выход:
>>> S T р я N г >>>
Обход с циклом for :
Вывести всю строку в одну строку, используя цикл.
Код:
a ="Python"
i = 0
new=" "
for i in range (0,len(a)):
b=a[i]
# + used for concatenation
new = new+b
i = i + 1
# prints each char on one line
print(b)
print(new)
Выход:
>>> п п Y Py T Пыть час Pyth о Pytho N питон >>>
Струнные ломтики:
Сегмент строки называется срезом. Синтаксис «slice» используется для получения частей строки. Срез s [start: end] - это элементы, начинающиеся в начале (p) и продолжающиеся вплоть до конца (q), но не включая его.
- Оператор [p: q] возвращает часть строки от p-го символа до q-го символа, включая первый, но исключая последний.
- Если мы опускаем первый индекс (перед двоеточием), срез начинается с начала строки.
- Если вы опустите второй индекс, срез перейдет к концу строки:
- Если первый индекс больше или равен второму, результатом является пустая строка, представленная двумя кавычками.
>> s = "Python"
- s [1: 4] - это 'yth' - символы, начинающиеся с индекса 1 и продолжающиеся до индекса 4, но не включая его
- s [1:] is 'ython' - по умолчанию индекс либо не указывается ни в начале, ни в конце строки
- s [:] is 'Python' - копия всего этого
- s [1: 100] - это 'ython' - слишком большой индекс усекается до длины строки
Python использует отрицательные числа, чтобы обеспечить легкий доступ к символам в конце строки. Отрицательные индексы отсчитываются от конца строки:
- s [-1] is 'n' - последний символ (1-й от конца)
- s [-4] это 't' - 4-й от конца
- s [: - 3] is 'pyt' - идет вверх, но не включает последние 3 символа
- s [-3:] is 'hon' - начиная с 3-го символа от конца и продолжая до конца строки.
Пример-2
>>> a ="Python String"
>>> print (a[0:5])
Pytho
>>> print(a[6:11])
Stri
>>> print(a[5:13])
n String
>>>
>>> a ="Python String"
>>> print(a[:8])
Python S
>>> print(a[4:])
on String
>>> print(a[6:3])
>>>
Пример-3
>>> a ="PYTHON"
>>> a[3]
'H'
>>> a[0:4]
'PYTH'
>>> a[3:5]
'HO'
>>> # The first two characters
...
>>> a[:2]
'PY'
>>> # All but the first three characters
...
>>> a[3:]
'HON'
>>>
Поиск символа в строке:
Код:
def search(char,str):
L=len(str)
print(L)
i = 0
while i < L:
if str[i]== char:
return 1
i = i + 1
return -1
print(search("P","PYTHON"))
Выход:
>>> 6 1 >>>
- Он принимает символ и находит индекс, где этот символ появляется в строке.
- Если символ не найден, функция возвращает -1.
Другой пример
def search(char,str):
L=len(str)
print(L)
i = 0
while i < L:
if str[i]== char:
return 1
i = i + 1
return -1
print(search("S","PYTHON"))
Выход:
>>> 6 -1 >>>
Предыдущий: Python Bytes, Bytearray
Далее: Форматирование строки Python
Новый контент: Composer: менеджер зависимостей для PHP , R программирования