diferença entre print() e return no python [RESOLVIDO]

1. diferença entre print() e return no python [RESOLVIDO]

Eduardo Chagas Rodrigues
jornadalinux

(usa Debian)

Enviado em 31/12/2016 - 12:43h

Eae pessoal, blz?, galera, estou aprendendo sozinho programação e escolhi Python como primeira linguagem, e a minha duvida é:

qual a diferença entre print() e return?

pois não consegui achar nada explicando de forma clara a diferença entre eles (ou pelo menos não ficou claro pra mim, rsrsrs). Se alguém puder me dar essa força ficarei grato, pois aprender sozinho não é fácil, mas minha motivação é de mais de 8000!

desde já agradeço a atenção de todos, vlw!


  


2. MELHOR RESPOSTA

Lisandro Guerra
Lisandro

(usa Arch Linux)

Enviado em 31/12/2016 - 18:09h

Print e Return são cousas realmente muito diferentes, talvez assim fique mais claro:
Estou em uma parte qualquer de um programa e quero que seja impressa uma informação na saída padrão (geralmente o console, tela, etc), é o caso de usar print. O print está pegando algo e imprimindo para a saída padrão.
O return, como o nome diz, retorna um valor em memória, é uma resposta a um chamado anteriormente feito no programa a uma função que vai responder com o return, ou também pode ser a resposta de um "programa" ao chamado de outro "programa".
Talvez a terminologia não seja a mais adequada e correta, mas a intenção é tentar esclarecer a dúvida e não a correção conceitual. Ok?

Então vejamos:
Posso ter um programa_A.py que vai imprimir no console uma lista de números e ao lado de cada número seu quadrado.
O programa poderia ser assim:

# isto é um comentário ele não é interpretado pelo python

# aqui definimos uma lista
lista = [1,2,3,4]

# aqui no corpo principal iteramos a lista imprimindo
for numero in lista:
print('Numero: {} tem o quadrado: {}' .format(numero, numero**2))

A impressão no console seria:

Numero: 1 tem o quadrado: 1
Numero: 2 tem o quadrado: 4
Numero: 3 tem o quadrado: 9
Numero: 4 tem o quadrado: 16


Mas e se eu quisesse que esta lista fosse mutável ou que eu quisesse que ela fosse gerada em uma função do meu programa?
Bom meu programa_A.py poderia ficar assim:

# abaixo a função que gera e retorna uma lista
# ela não imprime nada, só retorna o valor para quem pediu
def funcao_lista():
return list(range(1,5))

# aqui no corpo principal iteramos a resposta
# da função lista e não mais a lista
for numero in funcao_lista():
print('Numero: {} tem o quadrado: {}' .format(numero, numero**2))


O resultado é o mesmo, mas podemos observar que o return não imprime no console, quem faz isso é o print.

Agora também poderíamos colocar a função em um programa_B.py e chamá-la no nosso programa_A.py.
Aí nosso programa_B.py seria simplesmente:

# abaixo a função que gera e retorna uma lista
# ela não imprime nada, só retorna o valor para quem pediu
def funcao_lista():
return list(range(1,5))


E o programa_A.py poderia ser:

# importamos a função dejada do outro programa
from programa_B import funcao_lista
# aqui no corpo principal iteramos a resposta
# da função lista importada
for numero in funcao_lista():
print('Numero: {} tem o quadrado: {}' .format(numero, numero**2))


Veja que o programa_B.py não imprime nada, só retorna os valores para que programa_A.py possa fazer seu trabalho e imprimir par o console.

Espero que esta mini dica te ajude a compreender as diferenças.
Abraço

3. Re: diferença entre print() e return no python [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/12/2016 - 14:14h

jornadalinux escreveu:

Eae pessoal, blz?, galera, estou aprendendo sozinho programação e escolhi Python como primeira linguagem, e a minha duvida é:

qual a diferença entre print() e return?

pois não consegui achar nada explicando de forma clara a diferença entre eles (ou pelo menos não ficou claro pra mim, rsrsrs). Se alguém puder me dar essa força ficarei grato, pois aprender sozinho não é fácil, mas minha motivação é de mais de 8000!

desde já agradeço a atenção de todos, vlw!


não programo não mas v se isso te ajuda
http://programacaocompython.blogspot.com.br/2011/11/erros-comuns-5-return-e-print.html

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


4. Re: diferença entre print() e return no python

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 31/12/2016 - 14:36h

Eu também estou prendendo sozinho e é bem melhor.

print('string') = imprime na tela qualquer coisa que você mande.
return = retorna qualquer coisa que você mande.

Ex:

def teste1():
print('teste1')

def teste2():
return 'teste2'

teste1()
print(teste2)


A primeira função agente só chama, pois, o print já está embutido. A segunda temos que mandar imprimir a função que está retornando uma string.

Espero ter sido claro.

______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


5. Re: diferença entre print() e return no python [RESOLVIDO]

Eduardo Chagas Rodrigues
jornadalinux

(usa Debian)

Enviado em 31/12/2016 - 14:48h

ctw6av escreveu:

Eu também estou prendendo sozinho e é bem melhor.

print('string') = imprime na tela qualquer coisa que você mande.
return = retorna qualquer coisa que você mande.

Ex:

def teste1():
print('teste1')

def teste2():
return 'teste2'

teste1()
print(teste2)


A primeira função agente só chama, pois, o print já está embutido. A segunda temos que mandar imprimir a função que está retornando uma string.

Espero ter sido claro.

______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/



Então ctw6av, a parte do print eu entendi, mas a parte do return, em qual situação é melhor implementar um return ao invés do print()?


6. Re: diferença entre print() e return no python

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 31/12/2016 - 15:26h

A melhor forma é sempre dentro de funções, exemplo disso é saber se uma determinada função retorna verdadeiro ou falso

def inconstant(value):
if value >= 1:
return True
else:
return False

if inconstant(2):
print('True')

A função inconstant só retorna verdadeiro ou falso, sendo verdadeiro se o argumento passado for maior ou igual a 1 e falso se for igual a 0.

O if chamado abaixo da declaração da função "if contant(2)" chama a função com o argumento 2 que é maior que 1 fazendo a função retornar True e a linha abaixo faz o trabalho de imprimir True na tela.

Valores retornados por funções não são impressos na tela, mas podem ser armazenados em variáveis:
temp = incanstant(2) 

onde temp a partir de agora terá o valor True.

No caso de uma função que retorna algo, ela não será instanciada sendo assim o valor retornado por ela é salvo na variável.


______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


7. Re: diferença entre print() e return no python [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 31/12/2016 - 18:45h

Lisandro escreveu:



Top! Eu não explicaria assim, melhor resposta¹°



______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


8. Re: diferença entre print() e return no python [RESOLVIDO]

Eduardo Chagas Rodrigues
jornadalinux

(usa Debian)

Enviado em 31/12/2016 - 20:32h

vamos ver se eu entendi

vou criar duas funções:
func_print() - para imprimir o valor
func_return() - para retornar o valor

def func_print():
print(5)

def func_return():
return 10


se chamar a função func_print(), assim:

func_print()

o valor 5 será exibido na tela.


se chamar a função func_return(), assim:

func_return()

não será exibido nada na tela, POR QUE?, pq o comando 'return' não retorna um valor
da mesma forma como o comando 'print()'. Para retornar um valor de uma
função que tem o comando 'return', insira fora das funções definidas o nome da função dentro de
um comando 'print()', assim:

print(func_return)

pronto, o valor associado ao 'return' dentro da função será retornado/exibido na tela.


Bom Galera, isso foi o que entedi, me deem feedback caso eu tenha entedido errado, ok?, valew Pessoal!!!


9. Re: diferença entre print() e return no python [RESOLVIDO]

Jeffersson Abreu
ctw6av

(usa Nenhuma)

Enviado em 31/12/2016 - 20:36h

You got it! Exatamente, parabéns.





______________________________________________________________________
OS: Biebian
Kernel: x86_64 3.5.2-amd64
Resolution: 1320x768
CPU: Intel Core i3-4005U CPU @ 1.7GHz
RAM: 3852MiB
Distro: http://biebian.sourceforge.net/


10. Re: diferença entre print() e return no python

Eduardo Chagas Rodrigues
jornadalinux

(usa Debian)

Enviado em 31/12/2016 - 20:40h

Valew Galera, pela atenção e esforço de todos, só passando pra agradecer xD!


11. Re: diferença entre print() e return no python [RESOLVIDO]

Mauriciodez
Mauriciodez

(usa Debian)

Enviado em 31/12/2016 - 23:02h

jornadalinux escreveu:

Valew Galera, pela atenção e esforço de todos, só passando pra agradecer xD!


Agora que já te explicaram a diferença entre print e return eu vou te falar de VOL ... aqui a gente marca o tópico como resolvido quando nossas duvidas e/ou problemas são sanados e depois costumamos marcar uma 'melhor resposta'

Abçs !!!

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


12. Re: diferença entre print() e return no python [RESOLVIDO]

Eduardo Chagas Rodrigues
jornadalinux

(usa Debian)

Enviado em 31/12/2016 - 23:12h

Mauriciodez escreveu:

jornadalinux escreveu:

Valew Galera, pela atenção e esforço de todos, só passando pra agradecer xD!


Agora que já te explicaram a diferença entre print e return eu vou te falar de VOL ... aqui a gente marca o tópico como resolvido quando nossas duvidas e/ou problemas são sanados e depois costumamos marcar uma 'melhor resposta'

Abçs !!!

___________________________________________________________________________________________
" Nem sempre é amigo aquele que te tira do buraco !!! ( Saddam Hussein )"


Foi mal Mauriciodez, fiquei tão empolgado em ter aprendido que me descuidei, vacilo meu, valew por ter lembrado ;D






Patrocínio

Site hospedado pelo provedor RedeHost.
Linux banner

Destaques

Artigos

Dicas

Tópicos

Top 10 do mês

Scripts