Olá, ao fazer o exercício 11 da aula 8, percebi que se executo o seguinte código pelo terminal, a saída não é a esperada:
>>> from models import Data
>>> data = Data(1,1,1)
>>> data.imprime
<bound method Data.imprime of <models.Data instance at 0x7f463d13ce60>>
Mas se eu executo por um arquivo .py, a saída acaba sendo a esperada. Conteúdo do arquivo teste.py:
from models import Data
data = Data(1,1,1)
data.imprime()
Saída ao executar no terminal python teste.py:
1/1/1
Conteúdo do arquivo models.py:
# -*- coding: utf-8 -*-
class Perfil():
def __init__(self, nome, telefone, empresa):
self.nome = nome
self. telefone = telefone
self.empresa = empresa
def imprime(self):
print "nome: %s telefone: %s empresa: %s" %(self.nome, self.telefone, self.empresa)
class Data():
def __init__(self, d, m, a):
self.dia = d
self.mes = m
self.ano = a
def imprime(self):
print "%s/%s/%s" %(self.dia, self.mes, self.ano)
Alguém pode me explicar o porquê de funcionar em apenas um dos casos?