Для представления строк в Python используется тип str
(аналог std::string
в С++ или String
в Pascal).
In [2]:
s1 = "Строки можно задавать в двойных кавычках"
s2 = 'А можно в одинарных'
print(s1, type(s1))
print(s2, type(s2))
Для задания в строке особых символов (например переводов строк или табуляций) в Python используются специальный последовательности, вроде \n
для перевода строки или \t
для символа табуляции:
In [3]:
s = "Эта строка\nсостоит из двух строк"
print(s)
In [6]:
s = "А в этой\tстроке\nиспользуются\tсимволы табуляции"
print(s)
Такой же синтаксис используетя для задания кавычек в строке:
In [7]:
s1 = "Это \"строка\" с кавычками."
s2 = 'И "это" тоже.'
s3 = 'С одинарными Кавычками \'\' всё работает также.'
print(s1, s2, s3)
In [8]:
print("Если надо задать обратный слэш \\, то его надо просто удвоить: '\\\\'")
Строки можно складывать. В этом случае они просто припишутся друг к другу. По-умному это называется конкатенацией.
In [9]:
greeting = "Привет"
exclamation = "!!!"
print(greeting + exclamation)
Можно умножать на целое число, чтобы повторить строку нужное число раз.
In [11]:
print("I will write in Python with style!\n" * 10)
print(3 * "Really\n")
Получить символ на заданной позиции можно также, как и в C++ или Pascal. Индекасация начинается с 0.
In [13]:
s = "Это моя строка"
print(s[0], s[1], s[2])
Но нельзя поменять отдельный символ. Это сделано для того, чтобы более логично и эффективно реализовать некоторые возможности Python.
In [14]:
s = "Вы не можете изменить символы этой строки"
s[0] = "Т"
Перевод:
ОшибкаТипа: объект 'str' не поддерживает присваивание элементов
Можно указывать отрицательные индексы, тогда нумерация происходит с конца.
In [16]:
s = "Строка"
print(s[-1], "=", s[5])
print(s[-2], "=", s[4])
print(s[-3], "=", s[3])
print(s[-4], "=", s[2])
print(s[-5], "=", s[1])
print(s[-6], "=", s[0])
In [17]:
s = "Для получения длины используется функция len"
print(len(s))
Проверить наличие или отсутствие в строке подстроки или символа можно с помощью операций in
и not in
.
In [18]:
vowels = "аеёиоуыэюя"
c = "ы"
if c in vowels:
print(c, "- гласная")
else:
print(c, "- согласная")
In [20]:
s = "Python - лучший из неторопливых языков :)"
print("Python" in s)
print("C++" in s)
В памяти компьютера каждый символ хранится как число. Соответствие между символом и числом называется кодировкой.
Самая простая кодировка для латинских букв, цифр и часто используемых символов — ASCII. Она задаёт коды (числа) для 128 символов и используется в Python для представления этих символов.
In [23]:
# Код любого символа можно получить с помощью функции ord
print(ord("a"))
In [24]:
# Можно пользоваться тем, что коды чисел, маленьких латинских букв и больших латинских букв идут подряд.
print("Цифры:", ord("0"), ord("1"), ord("2"), ord("3"), "...", ord("8"), ord("9"))
print("Маленькие буквы:", ord("a"), ord("b"), ord("c"), ord("d"), "...", ord("y"), ord("z"))
print("Большие буквы:", ord("A"), ord("B"), ord("C"), ord("D"), "...", ord("Y"), ord("Z"))
In [25]:
# Например, так можно получить номер буквы в алфавите
c = "g"
print(ord(c) - ord('a'))
In [27]:
# Для получение символа по коду используется функция chr
print(chr(100))
In [32]:
# Этот код выводит всю таблицу ASCII
for code in range(128):
print('chr(' + str(code) + ') =', repr(chr(code)))