Função print() em Python
Aprenda sobre a função print() neste artigo. Descubra funcionalidades menos conhecidas, evite alguns erros comuns e veja formas simples de exibir seu texto formatado.
Provavelmente a função print()
foi responsável por um dos seus primeiros contatos com o Python
, porém quando você
começa a estudar mais sobre a linguagem costumamos esquecer um pouco essa função, no máximo utilizamos para fazer
um debug
rápido.
Neste artigo veremos muitas coisas possíveis com essa função, desde exibir uma mensagem de hello world
em uma linha de
código até coisas mais úteis no dia-a-dia utilizado normalmente para encontrar bugs
. Se você está iniciando agora
em Python
não se preocupe, começaremos do zero e ir nos aprofundando no decorrer do artigo.
Como utilizar a função print() em Python?
Primeiramente precisamos saber que ao utilizarmos a função print()
temos um objetivo claro: exibir alguma mensagem na
tela(ou em algum outro dispositivo de saída).
A função print()
recebe uma série de parâmetros, apenas um deles obrigatório, abaixo veremos quais são esses
parâmetros:
- object: pode ser qualquer objeto do Python, este será convertido em uma string e exibido em seguida.
- sep: especifica como será feita a separação dos objetos, não é obrigatório e caso não fornecido
' '
é utilizado por padrão. - end: representa o que será exibido no final da mensagem, também não é obrigatório e caso não seja passado uma quebra
de linha (
\n
) é utilizado. - file: define qual será o local de saída da mensagem, pode ser qualquer objeto com um método de
write
, não é obrigatório e osys.stdout
é o padrão. - flush: um booleano que especifica se a mensagem será salva em
flush
ou não, caso não fornecido o padrão éFalse
.
Utilizando a função print()
Agora veremos alguns exemplos de utilização da função print()
.
Podemos simplesmente chamar a função print()
sem fornecer nenhum parâmetro.
print()
Caso não seja fornecido nenhum parâmetro a função print()
irá apenas exibir uma quebra de linha na tela (\n
), que na
maioria dos terminais será apenas uma linha vazia. Caso o objetivo realmente seja um quebra de linha a função print()
poderia ser chamada várias vezes em sequência, mas no decorrer do artigo veremos outras formas melhores de fazer isso.
Uma forma simples de utilizar a função print
é passando um texto para ser exibido na tela.
print("Covil Do Dev é ótimo")
Chamamos esse estilo de parâmetro de string
literal, pois estamos passando literalmente a string
, sem a utilização
de uma variável ou função que retorne o conteúdo da mensagem, pode utilizar aspas simples('
) ou duplas("
) não
existindo nenhuma diferença entre elas, mas ter duas opções é útil caso queiramos exibir uma aspa no conteúdo do texto.
print('"Covil Do Dev" é ótimo')
Esse exemplo acima é válido, pois utilizamos aspas simples('
) na declaração da string
e aspas duplas no seu
conteúdo, também podemos fazer o oposto.
print("'Covil Do Dev' é ótimo")
Nesse caso utilizamos aspas duplas("
) na declaração da string
e aspas simples('
) no seu conteúdo, o que não
podemos fazer é utilizar o mesmo tipo na declaração da string
e no conteúdo.
print(""Covil Do Dev" é ótimo")
print(''Covil Do Dev' é ótimo')
Ambos os exemplos estão incorretos e irã ocasionar um erro na hora da execução do código.
Outra forma de exibir aspas no conteúdo é utilizando uma contrabarra(\
) antes das aspas, chamamos isso de scape
,
constatemos os dois exemplos anteriores feitos com a utilização das contrabarras.
print("\"Covil Do Dev\" é ótimo")
print('\'Covil Do Dev\' é ótimo')
A saída dos exemplos será respectivamente: "Covil Do Dev" é ótimo
e 'Covil Do Dev' é ótimo
, ou seja, a contrabarra
será ignorada, apenas as aspas serão exibidas.
Também podemos utilizar a função print()
com uma string
previamente definida e armazenada em uma variável.
conteudo = '"Covil Do Dev" é ótimo'
print(conteudo)
Dessa forma podemos exibir a mesma mensagem várias vezes, ou utilizar algum método das strings, como, por exemplo
o upper()
que irá transformar todas as letras em maiúsculas.
conteudo = '"Covil Do Dev" é ótimo'
print(conteudo)
# "Covil Do Dev" é ótimo
print(conteudo.upper())
# "COVIL DO DEV" É ÓTIMO
Múltiplas linhas
Às vezes queremos exibir um texto com mais de uma linha, uma forma intuitiva de fazer isso seria utilizando várias
funções print
em sequência.
print("Covil Do Dev")
print("é ótimo")
Dessa forma até teríamos o resultado pretendido, mas outra forma simples e correta, com apenas uma chamada de função
seria utilizando uma quebra de linha (\n
).
print("Covil Do Dev\né ótimo")
Também podemos utilizar uma sequência de 3 aspas e colocar o texto já formatado da forma que queremos a saída.
print("""Covil Do Dev
é ótimo""")
Outros tipos de dados
A função print()
também pode ser utilizada para exibir dados que não sejam originalmente strings
,
como dicionários, listas e tuplas e números, sendo este último bem
comum de ser visto em códigos.
print({'nome', 'João'})
print(['João', 'José'])
print(('João', 'José'))
print(3)
print(3.5)
print(1 + 5j)
Utilizando funções
Também podemos exibir na tela um conteúdo de uma função utilizando print()
, por exemplo, o método getcwd()
do
módulo os
exibe na tela a pasta atual onde o código está sendo executado, poderíamos exibir essa informação da
seguinte forma.
import os
print(os.getcwd())
# /home/user/rota/até/o/arquivo
Também podemos fazer isso com uma função definida pelo usuário.
def retorna_conteudo():
conteudo = 'Covil Do Dev é incrível'
return conteudo
print(retorna_conteudo())
# Covil Do Dev é incrível
Formatando textos (f-strings)
Muitas vezes precisamos combinar várias informações em uma mensagem formatada com algum padrão específico, desde a
versão 3.6
do Python
, onde foi adicionado às f-string
temos uma forma muito simples e extremamente legível de
fazer isto.
Caso deseje mostrar a pasta onde o código está sendo executado igual mostrado no tópico anterior com uma mensagem
poderíamos formatar o texto com uma f-string
.
import os
print(f"A rota da pasta atual é: {os.getcwd()}")
# A rota da pasta atual é: /home/user/rota/até/o/arquivo
Outro exemplo seria exibir a quantidade de elementos após exibir uma lista, para isso utilizaremos a função len().
lista = [1, 4, 7, 2]
print(f"{lista} ({len(lista)} elementos)")
# [1, 4, 7, 2] (4 elementos)
Múltiplos argumentos
Também podemos passar mais de um argumento para a função print()
, dessa forma cada argumento será "adicionado" ao
anterior.
nome_site = "Covil Do Dev"
adjetivo = "ótimo"
print(nome_site, "é", adjetivo)
# Covil Do Dev é ótimo
Desde que surgiu as f-strings
em Python essa forma de utilizar a função print()
ficou um pouco esquecida, porém,
ainda é útil em alguns casos.
Lembra que foi dito que existe um parâmetro chamado sep
? Ele é utilizado nesses casos para separar cada parâmetro que
será exibido na tela, podemos, por exemplo, remover o "é"
com esse parâmetro.
nome_site = "Covil Do Dev"
adjetivo = "ótimo"
print(nome_site, adjetivo, sep=" é ")
# Covil Do Dev é ótimo
Também podemos extrair os parâmetros que será exibido na tela a partir de uma lista, para isso utilizaremos o
operador *
.
parametros = ["Covil Do Dev", "ótimo"]
print(*parametros, sep=" é ")
# Covil Do Dev é ótimo
Disclaimer sobre a forma de utilização da função print()
Se você viu exemplos na internet no seguinte formato:
print "Covil Do Dev é ótimo"
Provavelmente este era um tutorial ou artigo antigo e estava sendo utilizado Python 2
, após o lançamento do Python 3
a forma de utilizar o print()
mudou completamente, pois é agora uma função e antes se tratava de um statement
.
Não abordarei diretamente a forma de utilizar o print
no Python 2
(embora boa parte dos exemplos aqui
apresentados ainda sejam funcionais), pois já é uma versão “velha” e os sistemas que utilizam são apenas sistemas
legados, nada novo deveria ser feito em python2
.
Salvando texto em arquivos com a função print() em Python
Ao contrário do que muita gente pensa, a função print()
não exibe o conteúdo na tela, isso é responsabilidade de uma
função de mais baixo nível, no caso por padrão a função sys.stdout
.
Isso já foi apresentado no início do artigo, onde foi citado sobre o parâmetro file
presente na função print()
, foi
dito também que esse parâmetro pode receber qualquer objeto que contenha o método write
, logo podemos passar um
arquivo aberto que será escrito pela função print()
.
arquivo = open('teste.txt', "w+")
print("Covil Do Dev é ótimo", file=arquivo)
Executando o código acima irá criar um arquivo chamado teste.txt
que irá conter um texto com o
conteúdo: Covil Do Dev é ótimo
.
Conclusão
Após ler esse artigo você provavelmente já está apto para utilizar a função print()
, que tal continuar estudando?
Temos esse artigo sobre dicionários que é bem completo, tem
também esse sobre números, ambos trazem várias oportunidades de testar funcionalidades que
você aprendeu sobre a função print()
.