Ir para conteúdo
Fórum Script Brasil

AAguiar

Membros
  • Total de itens

    5
  • Registro em

  • Última visita

Sobre AAguiar

Perfil

  • Gender
    Male

AAguiar's Achievements

0

Reputação

  1. AAguiar

    Scripts

    Olá pessoal, minha contribuição ao forum: :P Basicamente é uma classe que com recursão consegue pegar um numero e escrever por extenso.. class NumberFormat: """ Classe que dado um numero retorna este por extenso. Autor Andrew S Aguiar """ NUMEROS = {0:'zero', 1:'um', 2:'dois', 3:'tres', 4:'quatro', 5:'cinco', 6:'seis', 7:'sete', 8:'oito', 9:'nove', 10:'dez', 11:'onze', 12:'doze', 13:'treze', 14:'quatorze', 15:'quinze', 16:'dezesseis', 17:'dezesete', 18:'dezoito', 19:'dezenove', 20:'vinte', 30:'trinta', 40:'quarenta', 50:'cinquenta', 60:'sessenta', 70:'setenta', 80:'oitenta', 90:'noventa', 100:"cento", 200:"duzentos", 300:"trezentos", 400:"quatrocentos", 500:"quinhentos", 600:"seiscentos", 700:"setecentos", 800:"oitocentos", 900:"novecentos", 1000:"mil"} def __format_(self, number): resultado = '' if number == '': resultado = '' elif number in NumberFormat.NUMEROS.keys(): resultado = NumberFormat.NUMEROS[ number ] return resultado else: primeiro_character = int(str(number)[0]) * (10 ** (len(str(number)) - 1) ) resto = str(number)[1:len(str(number))] resto = str(self.__format_( int(resto) )) resultado = self.__format_( primeiro_character ) if resto != '': resultado += " e " + resto return resultado def format(self,numero): """Escreve o numero por extenso. """ return self.__format_(int(numero)) # Um pequeno Teste if __name__ == "__main__": for i in range(0,1111): print NumberFormat().format(i) Falow a todos..
  2. Olá Pessoal. Dei uma pesquisada nestas minhas duvidas e cheguei as seguinte conclusão. 1) vi que existe um tal de module docs que vem com o proprio Python e que ele tipo start um miniservidor http://localhost:7464/ e apartir dele eu posso ver a dcumentação das classes basicas. 2) tem como eu incluir minhas classes nesse servidor ? 3) pelo que eu vi pé o __getitem__(self,index) e __setitem__(self,index,value). 4) Pelo que eu vi num apresentação ( Why I love Python ) de um cara que eu esqueci o nome. :P a filosofia do python é dar liberdade para a pessoa fazer o que quiser, mesmo que ela possa fazer qualquer idiotice. 5) Pelo que eu encontrei na net só há as visibilidades publica e private que é quando eu nomeio uma variavel como __<minha variavel>_ ai o interpretador altera o nome dela em tempo de execução. Alguém me corrija se eu tiver falado alguma merda. Grato a todos.
  3. Olá Pessoal. tenho 5 duvidas. 1) Onde eu posso conseguir a documentação das classes basicas do Python? 2) Existe uma forma de gerar documentação no Python ? exemplo tenho a classe: class Doc: """ Classe de teste para a documentacao Esta classe e apenas um teste. """ def __init__(self): """ Documentação do construtor. """ pass def teste(self): """ Documentação de metodo. """ print 'Ola' Tipo existe no Python algo que pegue estas String e gerem html sem que eu precise fazer aquele <Classe>.<Funcao>.__doc__ 3) Existe algum método que eu posso sobreescrever para eu mudar o operador [] ? exemplo: class MyList: """ Lista personalizada. """ def __init__(self): self.__list_ = [] def <algum metodo para o operador []>: pass L = MyList() L[1] = 'Teste' print L[1] 4) Em java eu posso definir uma interface, tipo uma classe oca que possui assinatura de métodos: public interface Ativo { int getValorVenda(); int getDepreciacao(); } então toda classe que implementa esta interface é obrigada a implementar estes métodos. eu posso fazer algo parecido em python. 5) Pelo que eu pesquisei eu posso fazer um esquema para deixar uma propriedade private, tem como eu deixa-la com acesso de modulo ou protegida (somente classes no mesmo modulo podem acessar). Grato.
  4. valeu cara, só mais uma duvida.. sem querer ser chato mais já sendo: só confirmando minhas suspeitas: todos os metodos __<alguma coisa>__ como __str__(), __add__() são funções builtin que são padrão de todas as classes em python e muitos são sobrecargas de operadores. estou certo Ah e tipo eu posso criar operadores novos e assossialos a algum método builtin? Grato.
  5. Olá pessoal. Sou novo no forum e no uso de Python. porém programo com Java a algum tempo. Minha duvida é a seguinte: Criei a classe Aluno class Aluno: # O nome do Aluno nome = None # RGM = Registro geral de matricula rgm = None # Data de nascimento. nascimento = None # Idade. idade = None # Turma. turma = None def _set_nome(self,nome): self.nome = nome print 'Metodo get chamado' # Construtor do Aluno def __init__(self, nome, rgm, idade): self._nome = nome self._rgm = rgm self._idade = idade def __str__(self): return 'Nome: %s, RGM:%s' % (self._nome,self._rgm) então instanciei um objeto aluno: aluno = Aluno('Joao','3242-3',10) como faço para descobrir a classe dele ? pois quando dou um type(aluno) vem apenas <type 'instance'> e outra duvida. vi num blog que quando voce seta um atributo de um objeto tipo aluno.nome = 'Maria' o python por baixo dos panos chama um tal de _set_, tem como eu sobreescrever este método? tipo os get e set de C#? Grato a todos.
×
×
  • Criar Novo...