Get started learning Python with DataCamp's free Intro to Python tutorial. Learn Data Science by completing interactive coding challenges and watching videos by expert instructors. Start Now!
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join 11 million other learners and get started learning Python for data science today!
Good news! You can save 25% off your Datacamp annual subscription with the code LEARNPYTHON23ALE25 - Click here to redeem your discount
Operações Básicas com Strings
Strings são pedaços de texto. Podem ser definidas como qualquer coisa entre aspas:
astring = "Hello world!"
astring2 = 'Hello world!'
Como você pode ver, a primeira coisa que aprendeu foi imprimir uma frase simples. Esta frase foi armazenada pelo Python como uma string. No entanto, em vez de imprimir strings imediatamente, vamos explorar as várias coisas que você pode fazer com elas. Você também pode usar aspas simples para atribuir uma string. No entanto, enfrentará problemas se o valor a ser atribuído contiver aspas simples. Por exemplo, para atribuir a string nestes colchetes (aspas simples são ' '), você precisa usar apenas aspas duplas assim
astring = "Hello world!"
print("single quotes are ' '")
print(len(astring))
Isso imprime 12, porque "Hello world!" tem 12 caracteres, incluindo pontuação e espaços.
astring = "Hello world!"
print(astring.index("o"))
Isso imprime 4, porque a localização da primeira ocorrência da letra "o" está a 4 caracteres de distância do primeiro caractere. Note como há realmente dois "o" na frase - este método apenas reconhece o primeiro.
Mas por que não imprimiu 5? O "o" não é o quinto caractere na string? Para simplificar as coisas, Python (e a maioria das outras linguagens de programação) começa as contagens em 0 em vez de 1. Portanto, o índice de "o" é 4.
astring = "Hello world!"
print(astring.count("l"))
Para aqueles de vocês usando fontes engraçadas, isso é um L minúsculo, não um número um. Isso conta o número de l's na string. Portanto, deve imprimir 3.
astring = "Hello world!"
print(astring[3:7])
Isso imprime um pedaço da string, começando no índice 3 e terminando no índice 6. Mas por que 6 e não 7? Novamente, a maioria das linguagens de programação faz isso - torna mais fácil fazer cálculo dentro desses colchetes.
Se você tiver apenas um número nos colchetes, obterá o único caractere nesse índice. Se deixar de fora o primeiro número mas mantiver os dois pontos, obterá uma fatia do início até o número que você deixou. Se deixar de fora o segundo número, obterá uma fatia do primeiro número até o fim.
Você pode até colocar números negativos nos colchetes. Eles são uma maneira fácil de começar no final da string em vez do começo. Desta forma, -3 significa "3º caractere a partir do final".
astring = "Hello world!"
print(astring[3:7:2])
Isso imprime os caracteres da string de 3 a 7 pulando um caractere. Esta é a sintaxe de fatia estendida. A forma geral é [inicio:fim:passo].
astring = "Hello world!"
print(astring[3:7])
print(astring[3:7:1])
Note que ambos produzem a mesma saída.
Não existe uma função como strrev em C para inverter uma string. Mas com o tipo de sintaxe de fatia mencionada acima, você pode facilmente inverter uma string assim
astring = "Hello world!"
print(astring[::-1])
Isso
astring = "Hello world!"
print(astring.upper())
print(astring.lower())
Esses comandos criam uma nova string com todas as letras convertidas para maiúsculas e minúsculas, respectivamente.
astring = "Hello world!"
print(astring.startswith("Hello"))
print(astring.endswith("asdfasdfasdf"))
Isso é usado para determinar se a string começa com alguma coisa ou termina com alguma coisa, respectivamente. A primeira imprimirá True, pois a string começa com "Hello". A segunda imprimirá False, pois a string certamente não termina com "asdfasdfasdf".
astring = "Hello world!"
afewwords = astring.split(" ")
Isso divide a string em um monte de strings agrupadas em uma lista. Como este exemplo divide em um espaço, o primeiro item na lista será "Hello", e o segundo será "world!".
Exercício
Tente corrigir o código para imprimir as informações corretas alterando a string.
s = "Hey there! what should this string be?"
# Length should be 20
print("Length of s = %d" % len(s))
# First occurrence of "a" should be at index 8
print("The first occurrence of the letter a = %d" % s.index("a"))
# Number of a's should be 2
print("a occurs %d times" % s.count("a"))
# Slicing the string into bits
print("The first five characters are '%s'" % s[:5]) # Start to 5
print("The next five characters are '%s'" % s[5:10]) # 5 to 10
print("The thirteenth character is '%s'" % s[12]) # Just number 12
print("The characters with odd index are '%s'" %s[1::2]) #(0-based indexing)
print("The last five characters are '%s'" % s[-5:]) # 5th-from-last to end
# Convert everything to uppercase
print("String in uppercase: %s" % s.upper())
# Convert everything to lowercase
print("String in lowercase: %s" % s.lower())
# Check how a string starts
if s.startswith("Str"):
print("String starts with 'Str'. Good!")
# Check how a string ends
if s.endswith("ome!"):
print("String ends with 'ome!'. Good!")
# Split the string into three separate strings,
# each containing only a word
print("Split the words of the string: %s" % s.split(" "))
s = "Strings are awesome!"
# Length should be 20
print("Length of s = %d" % len(s))
# First occurrence of "a" should be at index 8
print("The first occurrence of the letter a = %d" % s.index("a"))
# Number of a's should be 2
print("a occurs %d times" % s.count("a"))
# Slicing the string into bits
print("The first five characters are '%s'" % s[:5]) # Start to 5
print("The next five characters are '%s'" % s[5:10]) # 5 to 10
print("The thirteenth character is '%s'" % s[12]) # Just number 12
print("The characters with odd index are '%s'" %s[1::2]) #(0-based indexing)
print("The last five characters are '%s'" % s[-5:]) # 5th-from-last to end
# Convert everything to uppercase
print("String in uppercase: %s" % s.upper())
# Convert everything to lowercase
print("String in lowercase: %s" % s.lower())
# Check how a string starts
if s.startswith("Str"):
print("String starts with 'Str'. Good!")
# Check how a string ends
if s.endswith("ome!"):
print("String ends with 'ome!'. Good!")
# Split the string into three separate strings,
# each containing only a word
print("Split the words of the string: %s" % s.split(" "))
test_object("s", incorrect_msg="Make sure you change the string assigned to `s` to match the exercise instructions.")
success_msg("Great work!")
This site is generously supported by DataCamp. DataCamp offers online interactive Python Tutorials for Data Science. Join over a million other learners and get started learning Python for data science today!