/*
ads

Strings

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:

>>> "Python é legal!"
"Python é legal!"

>>> 'Aprendendo Python!'
'Aprendendo 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: 


>>> "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:


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 Strings Reviewed by Antony on maio 27, 2017 Rating: 5

Nenhum comentário:

ads