Strings são cadeias de chars (caracteres), em Python a representação de string se dá por aspas simples ( ' ' ) ou aspas duplas ( " " ).

Cada char (caractere), inclusive o espaço, ocupa 1 espaço da string:

Assim como vetores e listas, strings são cadeias de dados, veja que:

frase = 'aprendendo python'
print(frase[2])

>>>r

<aside> ⚠️ Lembre-se que no Python o index começa em 0

</aside>

Podemos imprimir a string completa, da seguinte forma:

frase = 'aprendendo python'
print(frase)

>>>aprendendo python

Ou também imprimir um dado intervalo (range):

frase = 'aprendendo python'
print(frase[2:8])

>>>renden

<aside> ⚠️ Note que na notação de range [a:b] o intervalo vai de a até o antecessor de b

</aside>

Podemos também omitir o início do range (Python interpreta que começará do início) ou omitir o final (Python interpreta que terminará no final)

frase = 'aprendendo python'
print(frase[:8])

>>>aprenden

frase = 'aprendendo python'
print(frase[8:])

>>>do python

Há alguns métodos específicos para strings

O método upper() transforma a string em uma string toda maiúscula

O método lower() transforma a string em uma string toda minúscula

frase = 'aPrEndeNdo pyThoN'
frase.upper()
print(frase)

>>>APRENDENDO PYTHON

frase.lower()
print(frase)

>>>aprendendo python

O método strip() remove todos espaços excedentes de uma string, no início e fim do texto

frase = '       aprendendo python     '
frase.strip()
print(frase)

>>> aprendendo python

Se adicionarmos r ou l antes do método, retiramos os espaços esquerdos e direitos, respectivamente.