Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Strings - Parte 1

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Olá pessoal!!

Antes de começar a falar sobre strings em Python, gostaria de informar que aqui na Under-Linux temos um sub-fórum sobre python que pode ser acessado aqui. Futuramente, postarei alguns exercícios aqui, quem tiver dúvidas ou quiser discutir sobre os exercícios basta usar esse fórum.


Strings



As strings em Python são bem flexíveis. Temos diversas formas de "iniciar" uma string, cada uma dessas formas tem uma peculiaridade, o que é muito vantajoso, mas pode se tornar um problema caso você seja um programador desorganizado!


Aspas simples

A primeira formar de iniciar uma string são as aspas simples ('). Um exemplo básico da utilização das aspas simples:

Código:
>>> 'sou uma string!'
'sou uma string!'
>>>
Qual o problema de usar aspas simples?? Quando você precisa usar aspas simples no texto da string... ex: palavras em inglês
Código:
>>> 'this isn't right'
  File "<stdin>", line 1
    'this isn't right'
              ^
SyntaxError: invalid syntax
>>>
Hum... Temos aqui nosso primeiro erro em Python! De acordo com o shell é um erro de sintaxe e a seta indica que esse erro ocorreu no t. O interpretador Python achar que a string acabou na primeira aspas simples (') e o t que segue a string é interpretado como erro.

Como resolver isso?? Usando caracteres de escape:
Código:
>>> 'this isn\'t right'
"this isn't right"
>>>
Nesse caso utilizamos o caractere de escape \'. Abaixo temos uma lista de todos os caracteres de escape definidos em Python:

  • \n - Nova linha. Move o cursor para o início da próxima linha.
  • \t - Tabulação Horizontal. Move o cursor para a próxima parada de tabulação (tab).
  • \r - Retorno de carro. Move o cursor para o início da linha atual; não avança para a próxima linha.
  • \b - Backspace. Retrocede o cursor um caractere.
  • \a - Alerta. Emite o som de sino do sistema.
  • \\ - Barra invertida (Backslash).
  • \" - Caractere de aspas duplas.
  • \' - Caractere de aspas simples.


Esses caracteres de escape nos levam a outro assunto: Strings com mais de uma linha:
Código:
>>> 'Eu sou uma linha!\nEu sou outra linha...'
'Eu sou uma linha!\nEu sou outra linha...'
>>>
>>> print 'Eu sou uma linha!\nEu sou outra linha...'
Eu sou uma linha!
Eu sou outra linha...
>>>
Quando eu crio a string e ela é mostrada na console os caracteres de escape não são decodificados. Já quando eu uso a função print os caracteres de escape são decodificados e interpretadas da forma correta.

Outro caractere de escape muito utilzado é o \t (tabulação):
Código:
>>> print 'Um exemplo de tópicos:\n\tTópico 1;\n\tTópico 2.\n\nPronto!'
Um exemplo de tópicos:
        Tópico 1;
        Tópico 2.

Pronto!
>>>
A tubulação é muito utilizada para formatação e alinhamento de textos. Mas pra frente utilizaremos ele para fazer algumas tabelas.



Aspas duplas

Caso você utilize muito a aspas simples nos textos e não goste de utilizar caracteres de escape (\') o Python oferece uma outra alternativa. Declarar as strings com aspas duplas ("):
Código:
>>> print "sou uma string e suporto 'aspas'"
sou uma string e suporto 'aspas'
>>>
Mas infelizmente você vai ter que usar caracteres de escape como \n e \t. Desses dois caracteres de escape vocês não vão fugir tão cedo!! Mas ainda temos um problema:
Código:
>>> print "essa "string" não vai funcionar"
  File "<stdin>", line 1
    print "essa "string" não vai funcionar"
                      ^
SyntaxError: invalid syntax
>>> print "mas essa \"string\" vai"
mas essa "string" vai
>>>
Exatamente, ao utilizar aspas duplas você pode utilizar aspas simples livremente mas não pode utilizar aspas duplas sem o caractere de escape!

Comentários

  1. Avatar de ilsahec
    interessante e útil
  2. Avatar de renatocostas
    Iniciativa legal, estou acompanhando.
  3. Avatar de fabiocs
    Obrigado.....
  4. Avatar de deson00
    to de olho
  5. Avatar de wapistos
    Legal d + mas como toda linguagem um saco pois tem q tomar muitoooo cuidado... Mais uma vez obrigado!
  6. Avatar de AondenetInformatica
    Muito bom.
  7. Avatar de beta
    Cheguei atrasado,,,um ano ou mais... tá valendo muito...
  8. Avatar de Magnun
    Olá beta. Mesmo atrasado ainda estamos aqui! Qualquer dúvida pode postar. Até mais...
  9. Avatar de Bhior
    Go Go ao próximos tópicos.

    Abraços
  10. Avatar de rairojr
    cara, muito show...
  11. Avatar de Claudiodf
    Acompanhando e até agora está dando td muito certo, este pontapé inicial está sendo ótimo!!!
    Obrigado cara!!!
  12. Avatar de Nepomuceno
    Posso fazer assim?

    Aspas duplas para poder escrever aspas simples. Ex: "desse 'jeito' pode"

    E com aspas simples para poder escrever aspas duplas pode? Ex: ' desse "jeito" pode?'

    Estou bem atrasado, mais Python está sendo minha primeira linguagem e estou apreciando muito este conhecimento.
  13. Avatar de lennon3d
    Olá estou com um problema será que podem me ajudar?

    A questão é essa aqui, eu preciso colocar um row[1] aqui dentro:

    elif (('1' in text) or ('UM' in text) or ('SOBRE A EMPRESA' in text)):
    self.methodsInterface.call("message_send", (jid, "neste campo aqui vai a row[1]"))

    Mas ele não interpreta isso como um código e sim como um texto, se coloco "row[1]" ele da pau no sistema e da erro de syntax.

    a questão é preciso dar um print dentro do (jid, "neste campo aqui vai a row[1]"))

    Mas não sei como, isso ele pega um valor dentro do banco de dados e insere ai, mas quem disse que consigo fazer funcionar =(

+ Enviar Comentário



Visite: BR-Linux ·  VivaOLinux ·  Dicas-L