Exemplo 0 - Pessoa
class Pessoa:
def __init__(self, nome):
self.nome = nome
def __str__(self):
return self.nome
regis = Pessoa('Regis')
print(regis)
fabio = Pessoa('Fabio')
print(fabio)
Note que afonso é uma instância da classe Pessoa, e teixeira é uma outra instância. Ou seja, temos dois objetos: afonso e teixeira.
Os dois métodos serão explicados no próximo exemplo.
Exemplo 1 - Calculadora simples
Existem pelo menos duas formas diferentes de trabalhar com os parâmetros de entrada. Neste exemplo, definiremos o parâmetro apenas uma vez com um método especial do Python chamado __init__. Segundo João Reis, este método é chamado quando um objeto de uma classe é instânciado. Este método é útil para fazer qualquer inicialização que você queira com seu objeto, ou seja, ele é o método "Inicializador" da instancia.
#calculadora.py
class Calculadora:
def __init__(self, a, b):
self.a = a
self.b = b
def soma(self):
return self.a + self.b
def subtrai(self):
return self.a - self.b
def multiplica(self):
return self.a * self.b
def divide(self):
return self.a / self.b
Note que definimos dois parâmetros a e b (dentro do parênteses). E o self.a é um novo campo.
Poderíamos definir
def __init__(self, param1, param2):
self.a = param1
self.b = param2
para não confundir, mas usualmente usamos o mesmo nome tanto no parâmetro quanto no novo campo.
Como dito antes, definimos os valores iniciais apenas uma vez e depois apenas usamos os métodos para calcular os valores.
Podemos rodar o Python no modo modo interativo pelo terminal e importar a classe (veja este video).
$ python3
>>> from calculadora import Calculadora
>>> c = Calculadora(128,2)
>>> print('Soma:', c.soma())
>>> print('Subtração:', c.subtrai())
>>> print('Multiplicação:', c.multiplica())
>>> print('Divisão:', c.divide())
c = Calculadora(128,2) é uma instância da classe com dois valores iniciais.
O resultado é:
>>> Soma: 130
>>> Subtração: 126
>>> Multiplicação: 256
>>> Divisão: 64.0
Podemos redefinir os valores iniciais da seguinte forma:
>>> c.a = 12
>>> c.b = 42
>>> print c.soma()
Resultado:
>>> 54
Importante: apesar de não fazer parte do escopo deste artigo, mas vejam este video Operadores aritméticos e divisão no Python 2 e Python 3, explicando sobre a diferença no resultado da divisão nas duas versões do Python.
Vejam também este artigo sobre ponto flutuante: Floating Point Arithmetic Issues and Limitations.
Sem comentários:
Enviar um comentário
Comente de forma construtiva...
Nota: só um membro deste blogue pode publicar um comentário.