O ato de colocar diversas variáveis e caracteres (strings) dentro da função print() se chama concatenar ou, mais ‘facilmente entendível’, juntar.
Para quem está iniciando em Python e usando o terminal como meio de estudo, não é muito fácil saber de cara como concatenar; ainda mais para quem vem de outras linguagens, como a PHP que é usada um ponto “.” para realizar a concatenação.
O que é uma Função em Python?
Entenda como uma função em Python, ou em outras linguagens, como sendo um bloco (conjunto) de código reutilizável que realiza uma tarefa específica.
Há funções prontas para usarmos dentro de qualquer linguagem de programação, mas podemos criar as nossas. Independente se a função foi criada por nós ou é própria da linguagem, reforço que o propósito dela é apenas uma: ser chamada, reutilizada, quantas vezes necessitarmos, sem precisar ser recriada. Somente a chame pelo nome que você deu para ela.
print() em Python
print() é uma função e é utilizada para exibir mensagens. Print vem de imprimir, no caso de Python, que dizer que serve para imprimir our exibir algo na tela do computador.
A função print() é uma função embutida em Python que realiza a tarefa de exibir informações na saída padrão, que geralmente é o seu monitor.
Como colocar mais de uma variável ou strings dentro da função print?
Em outras palavras, como concatenar strings e variáveis dentro da função print() do Python?
Podemos concatenar variáveis e outros valores dentro da função print() de várias maneiras. Como usando vírgula “,”, ou o sinal (operador) mais “+” ou ainda usando a letra “f“.
Usando vírgulas para concatenar
Abaixo, uso vírgula dentro da função print() para juntar strings e variáveis.
#! /usr/bin/python3 nome = "Maria" idade = 25 print("Nome:", nome, "Idade:", idade)
Esse é o resultado:
Nome: Maria Idade: 25
Usando o operador de concatenação (+) para strings
Veja como concatenar usando o operador +
nome = "Maria" idade = 25 print("Nome: " + nome + ", Idade: " + str(idade))
O resultado é o mesmo do primeiro exemplo,
Nome: Maria, Idade: 25
print() imprime apenas string, veja que acabamos convertendo idade para string através do casting ao fazermos isso str(idade). Se não fizer essa conversão gerará um erro:
Traceback (most recent call last):
File "/home/elder/Documentos/pythonlab/./oi.py", line 5, in <module>
print("Nome: " + nome + ", Idade: " + idade)
TypeError: can only concatenate str (not "int") to str
Veja: Fundindo os Tipos de Dados (Type Casting)
Usando f-strings (a partir do Python 3.6)
Admito que fiquei sem entender nas primeiras vezes que vi o uso do f dentro da função print().
Mas f-string é uma forma conveniente de formatar strings que permite a inserirmos variáveis e expressões diretamente dentro de strings literais.
f-strings são identificadas pelo prefixo “f” ou “F” antes das aspas que delimitam a string. As chaves “{}” dentro da string indicam onde as variáveis devem ser inseridas.
nome = "Maria" idade = 25 print(f"Nome: {nome}, Idade: {idade}")
Esse é o resultado:
Nome: Maria, Idade: 25
Usando sep dentro de print()
Sep vem de “separador”.
Se houver vários objetos separados por vírgula nos parênteses da função print(), os valores serão separados por um espaço em branco ” “. Se quisermos usar qualquer outro caractere como separador, definimos sep para a função print().
Quando executamos os scripts acima tivemos esse resultado:
Nome: Maria Idade: 25
Vamos definir um separador diferente do espaço.
#! /usr/bin/python3 nome = "Maria" idade = 25 print("Nome:", nome, "Idade:", idade, sep='-')
Nome:-Maria-Idade:-25
Poderá usar qualquer separador que queira. No exemplo acima, usei um traço.
Usando end=” ” em Python
podemos usar end=” “ quando usamos mais de um print() e queremos os textos na mesma linha. Se você usar dois print() verá que o texto aparecerá um abaixo do outro.
Veja exemplo sem usar end=” “
#! /usr/bin/python3 nome = "Maria" idade = 25 print("Nome:", nome, "Idade:", idade, sep='-') print("Dados recebidos com sucesso")
Nome:-Maria-Idade:-25
Dados recebidos com sucesso
Use end=” “ para os dois textos aparecerem na mesma linha.
#! /usr/bin/python3 nome = "Maria" idade = 25 print("Nome:", nome, "Idade:", idade, end=" ") print("Dados recebidos com sucesso")
Nome: Maria Idade: 25 Dados recebidos com sucesso
Veja: Literais e Operadores em Python