Covil Do Dev

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.


Lindomar Rodrigues
Lindomar Rodrigues

Atualizado

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 o sys.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().

Obrigado por visitar o blog e por ler esse artigo, se tive qualquer dúvida, ideia ou sugestão, não hesite em entrar em contato pelo meu e-mail: lindomar@covildodev.com.br