Python - O básico sobre string
O básico sobre strings em Python
Em Python 3 tudo é objeto e uma string é do tipo str
.
type(s)
# <class 'str'>
Podemos acessar uma string pelo seu index.
"python"[0] # 'p'
"python"[1] # 'y'
"python"[2] # 't'
"python"[3] # 'h'
"python"[4] # 'o'
"python"[5] # 'n'
Mas não podemos alterar seu valor atribuindo um valor através do índice.
palavra = "foo"
palavra[1] = "r"
# TypeError: 'str' object does not support item assignment
String é um objeto iterável.
for letter in "python":
print letter
"""
p
y
t
h
o
n
"""
Podemos fatiar a string.
#
# Nossa string
#
s = "flavio"
#
# Determinado comprimento
#
s[1:4] # 'lav'
#
# Do começo até i
#
s[0:3] # 'fla'
s[:3] # 'fla'
#
# Acessando pelo final
#
s[-1] # 'o'
s[-2] # 'i'
#
# Acessando completamente
#
s # 'flavio'
s[:] # 'flavio'
s[0:] # 'flavio'
Leia mais sobre fatiamento de sequências.
Concatenamos strings com o sinal +
, exemplo: "Spam " + "and" + " eggs"
Quando concatenamos com um número, precisamos fazer a conversão, exexemplo: "The value of pi is around " + str(3.14)
Escapamos (scape) caracters com o sinal \
, exemplo: 'There\'s a snake in my boot!'
Pesquisando a string
Podemos pesquisar um string com o operador in
, exemplo
"b" in "abc" # True
"d" in "abc" # False
"d" not in "abc" # True
"b" not in "abc" # False
Métodos comuns para strings
Método len()
Mostra o tamanho da string
s = "foo"
len(s)
# 3
Método upper()
Caixa alta.
"foo".upper() # FOO
Método lower()
Caixa baixa.
"ALFA".lower() # alfa
Método str()
Converte em string.
num = 123
type(num) # <class 'int'>
type(str(num)) # <class 'str'>
Método isalpha()
Retorna False
se a string contiver algum caracter que não seja letras
"abc".isalpha() # True
"1fg".isalpha() # False
"123".isalpha() # False
"/+)".isalpha() # False
Método strip()
Retira espaços em branco no começo e no fim
" sobrando espaços ".strip() # 'sobrando espaços'
" sobrando espaços ".strip() # 'sobrando espaços'
Método join()
Junta cada item da string com um delimitador especificado.
É o inverso do split()
.
", ".join("abc")
# 'a, b, c'
Aceita listas.
"-".join(['flavio', 'alxandre', 'micheletti'])
# 'flavio-alexandre-micheletti'
Método split()
Separa uma string conforme um delimitador.
É o inverso do join()
.
s = 'n o m e'
s.split() # ['n', 'o', 'm', 'e']
s.split(" ") # ['n', 'o', 'm', 'e']
s.split("") # ValueError: empty separator