class aluno():
#criando atributos
def __init__(self,nome,nota1,nota2):
self.nome = nome
self.nota1 = nota1
self.nota2 = nota2
#criando funções
def media(self):
return (self.nota1 + self.nota2) / 2
= [1, 2, 3, ...] a
3 Programação Orientada a Objeto
Aqui aprenderemos como é aplicado a programação orientada a objeto no Python.
3.1 Classes, objetos, e métodos
As classes são compostas de
Atributos ou Propriedades (Attributes ou Properties): São dados ou estados característicos daquela classe. Por exemplo, a classe “ações” pode ser modelada como tendo um preço médio, um volume diário, e um ticker.
Métodos: São as funções que são específicos daquela classe, muitas vezes utilizam os próprios atributos da classe para realizar uma operação. Por exemplo, pode-se criar um método na classe “ações” que mutliplique o preço médio pelo volume diário para se obter o volume financeiro médio.
Mas então, o que são os objetos?
Classe (class), estrutura de dados / procedimentos / funções que podem se repetir no programa, e;
Objeto (object), instâncias (exemplos específicos) das classes.
Qualquer estrutura que possua múltiplas instâncias pode ser caracterizada como uma classe (class), e qualquer instância/exemplo dessa estrutura pode ser um objeto (object).
3.2 Criando classes e objetos
Usamos a palavra class, o nome da classe (com a primeira letra em maísculo, por convenção), e “()”, indicando uma ação (no caso, criar um objeto da classe).
Normalmente a definição de uma classe começa pelo método init. ele é um método especial, o método construtor, e indica que todas as linhas subordinadas a ele devem ser executadas quando um objeto daquela classe é criado. As linhas que estão subordinadas ao método init são aquelas que estabelecem os atributos.
Além disso, a palavra self é uma referência a todos os atributos de um objeto. Os métodos levam como argumento o próprio objeto em si, ou seja, o método que tem self como argumento pode acessar e trabalhar com todos os elementos do objeto em si.
Depois do método construtor (init), em geral, vêm os métodos ordinários, aqueles que executam ações.
= aluno(nome = "Michel", nota1 = 7, nota2 = 10)
michel print(michel.nome,michel.media())
class Stocks():
def __init__(self, ticker_name, price_inDolars, volume_inUnits, beta_float,
divDate_string, enterpriseValue_inDolars, price_inList):self.ticker = ticker_name # preenchendo name com o valor referente ao argumento full_name
self.price_last = price_inDolars
self.volume_last_day = volume_inUnits
self.beta = beta_float
self.divDate = divDate_string
self.enterpriseValue = enterpriseValue_inDolars
self.price_hist = price_inList
self.portShare = 0# não vem de argumento, sempre uma ação começa com esse valor de argumento
def eatfinVolume(self): # self entra como argumento para que o procedimento possa acessar os atributos e seus valores.
return self.price_last * self.volume_last_day
def addPrice(self, price):
self.price_hist.append(price)
def changeShare(self, newshare):
self.portShare = newshare
def printPrice(self):
print("The stock " + self.ticker + " has a last price of " + str(self.price_last))
def __str__(self):
return "The stock " + str(self.ticker) + " has a last price of " + str(self.price_last)
= Stocks(ticker_name = "PETR4.SA",
petr = 30.13,
price_inDolars = 93824145,
volume_inUnits = 1.33,
beta_float = "Aug 12, 2022",
divDate_string = 594060000000,
enterpriseValue_inDolars = [29.80, 30.39, 29.44])
price_inList
print(petr.ticker)
petr.eatfinVolume()
petr.printPrice()
= 31.23
petr.price_last print(petr.price_last)
= "Brazil"
petr.nationality print(petr.nationality)
print(petr)