Roberto, seu código esta correto. O erro que você recebe é quando você não passa a quantidade de parâmetros que o construtor está preparado para receber (com exceção do self).
Minha hipótese é que você tenha declarado a classe Perfil
em dois lugares diferentes e está importando aquela que possui construtor inválido. Para ter certeza, faça o seguinte:
Em uma pasta em separado, crie o arquivo models.py
e nele adicione seu código. O exemplo abaixo é idêntico ao seu código:
# -- coding:utf-8 --
class Perfil(object):
'Classe para moldar perfis de usuários'
def __init__(self, nome, telefone, empresa):
self.nome = nome
self.telefone = telefone
self.empresa = empresa
Abra o terminal do python **dentro dess pasta que você criou de teste.
Depois, abra o console do Python. No console, importe a classe e instancie o objeto:
>>> from models import Perfil
>>> perfil = Perfil('Flavio', 'nao informado', 'Caelum')
Não haverá erro algum.
Então, peço que você verifique se há mais de uma declaração da classe Perfil
e se você está importando o correto, isto é, aquele que está no código que você postou.
Aguardo seu feedback.