Ver Feed RSS

root@blog:/# chmod o+r *

[Curso de Python] Produzindo saídas - parte 1

Avalie este Post de Blog

Antes de prosseguir leia os artigos anteriores aqui



Nesse artigo de hoje vamos aprender como gerar saídas. Ja estamos fazendo isso a um tempo utilizando o comando print mas de uma forma bem limitada!

Produzindo saídas



Como disse, já vimos o básico do comando print:
Código :
>>> print 'Ola mundo!'
Ola mundo
Também já vimos que o print pode imprimir qualquer tipo de dado sem a necessidade de expecificar nada diferente:
Código :
>>> inteiro = 42
>>> ponto_flutuante = 12.75
>>> tupla = (1, 2, 23.5, 'fim')
>>> lista = ['uma', 'lista', 12, 33]
>>> dicionario = {'a':1, 'b':2}
>>>
>>> print inteiro
42
>>> print ponto_flutuante
12.75
>>> print tupla
(1, 2, 23.5, 'fim')
>>> print lista
['uma', 'lista', 12, 33]
>>> print dicionario
{'a': 1, 'b': 2}
>>>
Mas o comando print tem um potencial muito maior. Vamos ver alguns exemplos a seguir.


Utilizando a soma (+)

É possível somar strings dentro do argumento do print. Vamos ver um exemplo:
Código :
>>> site = 'Under-Linux'
>>> print 'Eu acesso a ' + site + ' todo dia'
Eu acesso a Under-Linux todo dia
>>>
Como eu disse, podemos somar strings. O que acontece se tentarmos misturar outras coisas com a string? Um erro:
Código :
>>> idade = 25
>>> print 'Minha idade e '+idade
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
TypeError: cannot concatenate 'str' and 'int' objects
>>>
O sinal de mais (+) soma somente strings nunca se esqueçam disso. Então vamos ter que converter o inteiro para string:
Código :
>>> idade = 25
>>> print 'Minha idade e '+str(idade)
Minha idade e 25
>>>
Qualquer variável pode ser convertida para string utilizando a função str():
Código :
>>> idade = 25
>>> altura = 1.80
>>> tags = ['Editor', 'Moderador', 'Consultor']
>>>
>>> print 'Minha idade e '+str(idade)
Minha idade e 25
>>> print 'Minha altura e '+str(altura)
Minha altura e 1.8
>>> print 'Minha altura e '+str(altura)+'m'
Minha altura e 1.8m
>>> print 'Minhas tags na Under sao: '+str(tags)
Minhas tags na Under sao: ['Editor', 'Moderador', 'Consultor']
>>>
Utilizando a vírgula (,)

É concatenar uma string com qualquer outro tipo utilizando a vírgula. Vamos ver um exemplo:
Código :
>>> resposta = 42
>>> print 'A resposta para a pergunta fundamental sobre a vida, o universo e tudo mais é',resposta
A resposta para a pergunta fundamental sobre a vida, o universo e tudo mais é 42
>>>
O real funcionamento da vírgula é que ela converte automaticamente o que vem depois dela para string e adiciona um espaço antes. Esse detalhe do espaço é bem delicado:
Código :
>>> print 'string'+str(42)+'string'
string42string
>>> print 'string '+str(42)+' string'
string 42 string
>>> print 'string',42,'string'
string 42 string
>>>
Como podem ver eu tive que adicionar os espaços manualmente quando utilizei a soma, já as vírgulas fazem isso para mim. As vírgulas também convertem qualquer tipo:
Código :
>>> print 'Hoje e dia',27
Hoje e dia 27
>>> print 'Tenho que comprar:',['Laranja', 'Manga', 'Uva']
Tenho que comprar: ['Laranja', 'Manga', 'Uva']
>>> print 'Mas so tenho R$',12
Mas so tenho R$ 12
>>>
Amanha vamos ver como formatar as strings de uma maneira mais 'pythoniana'.
Até mais...

Atualizado 01-09-2010 em 09:09 por Magnun

Categorias
Python , Artigos , Artigos , Cursos , Curso de Python

Comentários

  1. Avatar de ilsahec
    boa aula
  2. Avatar de fabiocs
    show de bola...
  3. Avatar de alinef
    Muito legal! Eu já vinha estudando python por conta própria há alguns meses, mas essa foi novidade para mim! Parabéns :)
  4. Avatar de Magnun
    Obrigado alinef, não esqueça de verificar o restante do curso, tenho certeza que você encontrará outras novidades!
  5. Avatar de Humildade
    Olá magnun!

    Estou usando o compilador do python 3.1, e durante a execução de um dos exemplos que você nos passou, esta apresentando este erro:

    >>> idade = 25
    >>> print 'Minha idade e '+str(idade)
    SyntaxError: invalid syntax

    Será que estou a fazer algo de errado?
    Ou teve alguma alteração na versão que estou utilizando?

    Desde já agradeço!
    Abs
  6. Avatar de Magnun
    Teve sim. O print virou uma função como ele deveria ser desde o início.
    Tente alterar a linha para:
    >>> print('Minha idade e '+str(idade))
  7. Avatar de fabraga
    É possível usar a vírgula para somar strings mas sem deixar ela adicionar os espaços extras, ou um dos espaços extras como no exemplo abaixo?

    idade=25
    print("Minha idade é",idade,".")

    Saída: "Minha idade é 25 ."
    Saída esperada: "Minha idade é 25."
    Atualizado 06-06-2011 em 17:10 por fabraga
  8. Avatar de Magnun
    Não, a vírgula sempre insere espaços, para sua saída esperada faça da seguinte forma:
    >>> idade=25
    >>> print("Minha idade é " + str(idade) + ".")
    Minha idade é 25.

    Ou pode fazer assim:
    >>> print("Minha idade eh %s."%str(idade))
    Minha idade eh 25.
  9. Avatar de ellennicole
    Magnun, parabens pelo curso, sua maneira de ensinar muinto simples, e gostaria de fazer uma pergunta(como iniciante) vc me indicaria python para um controle de estoque? e pedir q futuramente vc colocasse algo sobre como acessar dados em Python com (Firebird ou MySQL), nunca encontrei nada q me mostrasse isso. Parabens.
  10. Avatar de carlos_cordeiro
    Magnun, estou com um problema, estou usando idle da versão 3.3 para acompanhar seus exercicios, mais o comando print não é reconhecido no prompt e quando eu digito sem o print ele aceita mais as aspas e as virgulas aparecem.
    Será que estou acompanhado certo as suas aulas.
    No que estou errando.
    qual o programa para poder acompanhar melhor as suas aulas.
    parabéns estes site e as suas aulas são incriveis.
    muito obrigado

+ Enviar Comentário