No Python pode-se utilizar tanto aspas duplas ( " ) como aspas simples ( ' ) para definir uma String.
Caso não saiba, em outras linguagens aspas duplas definem String ("Exemplo") e aspas simples definem Caractere ('e').
Mas isso não acontece no Python:
É importante lembrar:
Você pode citar aspas simples dentro de aspas duplas ou vice-versa, mas um erro ocorre quando você cita as simples dentro de aspas simples ou aspas duplas dentro de aspas duplas, veja:
Para corrigir isso utilizamos \ antes das aspas, assim iremos "anular" ela e então se tornará um caractere igual aos outros.
Aspas triplas também são outra alternativa de String, usando isto você pode criar frases em diferentes posições sem precisar criar vários print(), veja:
OBS : serve tanto com aspas duplas como com aspas simples.
Note que na saída apareceram alguns "\n", isso são quebras de linha, na programação utilizamos \n para quebrarmos linhas, é importante lembrar.
Você também pode "unir" frases utilizando vírgula (,) ou soma (+):
A diferença? Bem, a diferença é que com uma vírgula você adiciona um espaço entre uma String e a outra, já com soma isso não acontece e ele acaba unindo as duas e tornando uma só.
Também serve para colocar valores junto a elas.
Se o valor que for adicionar após a String também for String, você pode utilizar tanto vírgula como soma, mas se for um valor Inteiro ou Float, deverá apenas usar vírgula para que não dê erro, teste!
Você também pode usar * para repetir Strings quantas vezes quiser:
No python pode-se utilizar % para formatação de uma string, assim:
Caso não saiba, em outras linguagens aspas duplas definem String ("Exemplo") e aspas simples definem Caractere ('e').
Mas isso não acontece no Python:
>>> "Python é legal!" "Python é legal!"
>>> 'Aprendendo Python!' 'Aprendendo Python!'
Você pode citar aspas simples dentro de aspas duplas ou vice-versa, mas um erro ocorre quando você cita as simples dentro de aspas simples ou aspas duplas dentro de aspas duplas, veja:
>>> "Brian's House" "Brian's House"
>>> 'Brian's House' SyntaxError: invalid syntax
Para corrigir isso utilizamos \ antes das aspas, assim iremos "anular" ela e então se tornará um caractere igual aos outros.
>>> 'Brian\'s House' "Brian's House"
Aspas triplas também são outra alternativa de String, usando isto você pode criar frases em diferentes posições sem precisar criar vários print(), veja:
OBS : serve tanto com aspas duplas como com aspas simples.
>>> """Este aqui é um exemplo de uma grande frase"""
'Este aqui é\num exemplo\nde uma grande\nfrase' #Saída
Note que na saída apareceram alguns "\n", isso são quebras de linha, na programação utilizamos \n para quebrarmos linhas, é importante lembrar.
Você também pode "unir" frases utilizando vírgula (,) ou soma (+):
>>> print("Primeira frase","Segunda frase") Primeira frase Segunda frase # Separadas
>>> print("Primeira frase"+"Segunda frase") Primeira fraseSegunda frase # Juntas
A diferença? Bem, a diferença é que com uma vírgula você adiciona um espaço entre uma String e a outra, já com soma isso não acontece e ele acaba unindo as duas e tornando uma só.
Também serve para colocar valores junto a elas.
>>> a = "Terceira frase" >>> print("Primeira frase","Segunda frase",a) Primeira frase Segunda frase Terceira frase
Se o valor que for adicionar após a String também for String, você pode utilizar tanto vírgula como soma, mas se for um valor Inteiro ou Float, deverá apenas usar vírgula para que não dê erro, teste!
Você também pode usar * para repetir Strings quantas vezes quiser:
>>> 4 * '2' '2222'
Formatação
No python pode-se utilizar % para formatação de uma string, assim:
ex = "exemplo" print("Este é um %s"%ex) #Saída: Este é um exemplo
%s Serve para strings, mas pode ser utilizada para números também, o resultado é parecido.
%d Serve para números inteiros.
%f Serve para números reais ( floats ).
Com %f você pode limitar a quantidade de casas decimais:
OBS: Se o número for 19.9999999, ao limitar as casas decimais esse número é arredondado para 20.00.
%'s também funcionam com tuplas também, veja:
A ordem que os items são adicionados são da esquerda para a direita.
Outra forma de formatar uma String é usando o .format(), inclusive eu acho ele melhor, ele é muito mais dinâmico do que a %'s.
Ele é semelhante à %, a única diferença é que ele funciona com chaves {}.
A ordem de item também é da esquerda para a direita, mas com uma diferença, esses item são numerados "secretamente" a partir do 0, como se fossem uma lista.
Entenda melhor:
Veja que adicionei números dentro das chaves e na última chave a palavra "Este" se repetiu por que foi colocado o número 0 que corresponde ao primeiro item da tupla ao invés do item 3 que corresponde ao exemplo.
OBS: Você não pode colocar chaves com números e outras sem números, o python não consegue interagir com os dois tipos.
Certo, mas qual é a real diferença entre o format e %?
Você pode posicionar as palavras como você desejar, veja:
Utilizando <, > e ^ podemos posicionar as palavras como desejarmos e após esse caractere adicionamos a quantidade de espaços que queremos, no exemplo coloquei 20 espaços.
Você também pode escolher o caractere que deseja ocupar, basta colocar o que quera antes do caractere, veja:
Você também pode limitar casas decimais, assim como na %:
Veja outro exemplo de como o format pode ser útil:
%d Serve para números inteiros.
%f Serve para números reais ( floats ).
Com %f você pode limitar a quantidade de casas decimais:
ex = 19.58498484 print("Este é um %.2f"%ex) #Saída: Este e um 19.58
OBS: Se o número for 19.9999999, ao limitar as casas decimais esse número é arredondado para 20.00.
%'s também funcionam com tuplas também, veja:
print("%s %s %s %s."%("Este","é","um","exemplo")) #Saída: Este é um exemplo.
A ordem que os items são adicionados são da esquerda para a direita.
Outra forma de formatar uma String é usando o .format(), inclusive eu acho ele melhor, ele é muito mais dinâmico do que a %'s.
Ele é semelhante à %, a única diferença é que ele funciona com chaves {}.
print("{} {} {} {}.".format("Este","é","um","exemplo")) #Saída: Este é um exemplo.
A ordem de item também é da esquerda para a direita, mas com uma diferença, esses item são numerados "secretamente" a partir do 0, como se fossem uma lista.
Entenda melhor:
# 0 1 2 3 print("{0} {1} {2} {0}.".format("Este","é","um","exemplo")) #Saída: Este e um Este.
Veja que adicionei números dentro das chaves e na última chave a palavra "Este" se repetiu por que foi colocado o número 0 que corresponde ao primeiro item da tupla ao invés do item 3 que corresponde ao exemplo.
OBS: Você não pode colocar chaves com números e outras sem números, o python não consegue interagir com os dois tipos.
Certo, mas qual é a real diferença entre o format e %?
Você pode posicionar as palavras como você desejar, veja:
print("{:<20}| exemplo".format("Esquerda")) print("{:>20}| exemplo".format("Direita")) print("{:^20}| exemplo".format("Centro")) #Saída: Esquerda | exemplo Direita| exemplo Centro | exemplo
Utilizando <, > e ^ podemos posicionar as palavras como desejarmos e após esse caractere adicionamos a quantidade de espaços que queremos, no exemplo coloquei 20 espaços.
Você também pode escolher o caractere que deseja ocupar, basta colocar o que quera antes do caractere, veja:
print("{:#<20}| exemplo".format("Esquerda")) print("{:#>20}| exemplo".format("Direita")) print("{:#^20}| exemplo".format("Centro")) #Saída: Esquerda############| exemplo #############Direita| exemplo #######Centro#######| exemplo
Você também pode limitar casas decimais, assim como na %:
pi = 3.141592653589793 print("{:.2f}".format(pi)) #Saída: 3.14
Veja outro exemplo de como o format pode ser útil:
print(""" +---------+----------+ | Produto | Preço | +---------+----------+ | {:<7} | R$ {:<5.2f} | | {:<7} | R$ {:<5.2f} | | {:<7} | R$ {:<5.2f} | | {:<7} | R$ {:<5.2f} | +---------+----------+""".format("Maçã", 2.5, "Banana", 1.78, "Manga", 2.98, "Abacaxi", 3)) #Saída: +---------+----------+ | Produto | Preço | +---------+----------+ | Maçã | R$ 2.50 | | Banana | R$ 1.78 | | Manga | R$ 2.98 | | Abacaxi | R$ 3.00 | +---------+----------+
Strings
Reviewed by Antony
on
maio 27, 2017
Rating:
Nenhum comentário: