Строковый тип данных

Слайд 1

🧵 Тема урока: строковый тип данных

В этом уроке мы познакомимся со строковым типом данных str, а также научимся использовать встроенные функции len() и str(), выполнять конкатенацию, умножение строк и работать с оператором in.


🔹 Строковый тип данных str

Строки — один из самых часто используемых типов данных в Python. Название типа str происходит от английского слова string — “строка”.

Строки можно создавать с помощью одинарных или двойных кавычек:

s1 = 'Python rocks!'
s2 = "Python rocks!"

По умолчанию команда input() возвращает строку:

s = input()  # переменная s имеет тип str

Для задания пустой строки:

s1 = ''   # пустая строка
s2 = ' '  # строка, состоящая из одного пробела
⚠️ Пустая строка и строка с пробелом — разные вещи!

📏 Длина строки — функция len()

Длина строки — это количество символов, включая пробелы. Для подсчёта используется функция len():

s1 = 'abcdef'
length1 = len(s1)
length2 = len('Python rocks!')
print(length1)
print(length2)

Результат:

6
13

🔹 Преобразование чисел в строку — функция str()

Чтобы преобразовать число в строку, используется функция str():

num1 = 1777
num2 = 17.77
s1 = str(num1)   # '1777'
s2 = str(num2)   # '17.77'

Иногда работать с числом как со строкой проще — например, при форматировании или сравнении.


🔹 Конкатенация строк

Строки можно складывать с помощью оператора +. Это называется конкатенацией или сцеплением строк.

s1 = 'ab' + 'bc'
s2 = 'bc' + 'ab'
s3 = s1 + s2 + '!!'
print(s1)
print(s2)
print(s3)

Результат:

abbc
bcab
abbcbcab!!
⚠️ Конкатенация некоммутативна: 'ab' + 'bc''bc' + 'ab'.

Пример “ручного” форматирования вывода:

print('a', 'b', 'c', sep='*', end='!')
print()
print('a' + '*' + 'b' + '*' + 'c' + '!')

Результат:

a*b*c!
a*b*c!

🔹 Умножение строки на число

Строку можно умножать на целое неотрицательное число — строка просто повторится указанное количество раз.

s = 'Hi' * 4
print(s)

Результат:

HiHiHiHi

Пример практического применения:

print('-' * 75)

Результат:

---------------------------------------------------------------------------
⚠️ Строку можно умножать на число, но нельзя умножать на строку.
И при умножении на 0 результатом будет пустая строка.
print('C++ sucks.' * 0 == '')  # True

📜 Примечания

  1. Тройные кавычки используются для многострочного текста:
    text = '''Python is an interpreted, high-level programming language.
    Created by Guido van Rossum and first released in 1991.'''
  2. Можно свободно использовать разные типы кавычек, чтобы не экранировать:
    s1 = 'Он сказал: "Привет!"'
    s2 = "А она ответила: 'Здравствуйте!'"
    print(s1)
    print(s2)