Python Programação Orientada a Objetos: Classe, Objeto, Herança e Construtor

⚡ Resumo Inteligente

Programação orientada a objetos em Python Organiza o código em torno de classes e objetos, agrupando dados e comportamentos relacionados. Essa abordagem mostra como definir classes, criar objetos, aplicar herança e inicializar atributos com construtores.

  • 🔘 Plano de aula: Uma classe agrupa dados e métodos relacionados em um modelo reutilizável para a criação de objetos.
  • ☑️ Objetos: Objetos são instâncias de uma classe, cada uma armazenando seus próprios valores de atributos.
  • Definindo classes: A palavra-chave `class`, os métodos indentados e o parâmetro `self` definem uma classe. Python classe.
  • 🧬 Herança: Uma classe derivada herda atributos e métodos de uma classe base e suporta herança múltipla.
  • 🛠️ Construtores: O método __init__() inicializa cada novo objeto com valores predefinidos.
  • 🤖 Relevância da IA: Bibliotecas de aprendizado de máquina como PyTorcamadas e redes do modelo ch como Python classes.

Python Programação Orientada a Objetos: Classe, Objeto, Herança e Construtor

OOPs em Python

OOPs em Python é uma abordagem de programação que se concentra no uso de objetos e classes da mesma forma que outras linguagens de programação gerais. Os objetos podem ser quaisquer entidades do mundo real. Python permite que os desenvolvedores desenvolvam aplicativos usando a abordagem OOPs com foco principal na reutilização de código. É muito fácil criar classes e objetos em Python.

O que é uma aula?

Uma aula em Python é um grupo lógicoping de dados e funções. Isso proporciona a liberdade de criar estruturas de dados que contêm conteúdo arbitrário e, portanto, são facilmente acessíveis.

Por exemplo, para qualquer funcionário do banco que queira obter os dados do cliente on-line, vá para classe de cliente, onde todos os seus atributos, como detalhes de transações, detalhes de saques e depósitos, dívidas pendentes, etc., seriam listados.

Como definir Python aulas

Para definir a classe, você precisa considerar os seguintes pontos

Passo 1) In Python, as classes são definidas pelo "Aula" palavra chave

class myClass():

Passo 2) Dentro das classes, você pode definir funções ou métodos que fazem parte desta classe

def method1 (self):
   print "Guru99"
def method2 (self,someString): 
   print "Software Testing:" + someString
  • Aqui definimos o método 1 que imprime “Guru99. "
  • Outro método que definimos é o método2 que imprime “Teste de Software”+ SomeString. SomeString é a variável fornecida pelo método de chamada

Passo 3) Tudo em uma classe é indentado, assim como o código na função, loop, instrução if, etc. Qualquer coisa que não seja indentada não está na classe

Definir Python aulas

NOTA: Sobre o uso de “self” em Python

  • O argumento `self` refere-se ao próprio objeto. Daí o uso da palavra `self`. Portanto, dentro deste método, `self` se referirá à instância específica deste objeto sobre a qual a operação está sendo realizada.
  • Self é o nome preferido por convenção por Pythons para indicar o primeiro parâmetro dos métodos de instância em Python. Faz parte do Python sintaxe para acessar membros de objetos

Passo 4) Para fazer um objeto da classe

c = myClass()

Passo 5) Para chamar um método em uma classe

c.method1()
    c.method2(" Testing is fun")
  • Observe que, ao chamarmos o método1 ou o método2, não precisamos fornecer a palavra-chave `self`. Isso é tratado automaticamente pelo próprio sistema. Python tempo de execução.
  • Python o tempo de execução passará o valor “self” quando você chamar um método de instância na instância, independentemente de você o fornecer deliberadamente ou não
  • Você apenas precisa se preocupar com os argumentos não-próprios

Passo 6) Aqui está o código completo

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  def method2(self,someString):    
      print("Software Testing:" + someString)
  
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()

Como funciona a herança

Herança é um recurso usado na programação orientada a objetos; refere-se à definição de uma nova classe com menos ou nenhuma modificação em uma classe existente. A nova classe é chamada classe derivada e daquele que ele herda é chamado de base. Python suporta herança; também suporta heranças múltiplas. Uma classe pode herdar atributos e métodos de comportamento de outra classe chamada subclasse ou classe herdeira.

Como funciona a herança em Python

Python Sintaxe de herança

class DerivedClass(BaseClass):
    body_of_derived_class

Passo 1) Execute o seguinte código

# Example file for working with classes
class myClass():
  def method1(self):
      print("Guru99")
        
  
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print ("childClass Method1")
        
  def method2(self):
        print("childClass method2")     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Observe que na classe filha, o método1 não está definido, mas é derivado da classe pai myClass. A saída é “Guru99. "

Passo 2) Remova o comentário das linhas 8 e 10. Execute o código

Agora, o método 1 está definido em childClass e a saída “childClass Method1” é mostrada corretamente.

Passo 3) Remova o comentário da linha nº 9. Execute o código

Você pode chamar um método da classe pai usando a sintaxe

ParentClassName.MethodName(self)

No nosso caso, chamamos myClass.method1(self) e GuruO número 99 foi impresso conforme o esperado.

Etapa 4) Remova o comentário da linha nº 19. Execute o código.

O método 2 da classe filha é chamado e “childClass method2” é impresso conforme esperado.

Python Construtores

Um construtor é uma função de classe que instancia um objeto com valores predefinidos.

Começa com um sublinhado duplo (_). É o método __init__().

No exemplo abaixo, estamos pegando o nome do usuário usando o construtor.

class User:
    name = ""

    def __init__(self, name):
        self.name = name

    def sayHello(self):
        print("Welcome to Guru99, " + self.name)

User1 = User("Alex")
User1.sayHello()

A saída será:

Bem-vindo à Guru99, Alex

Python 2 Exemplo

Os códigos acima são Python 3 exemplos, se você quiser correr Python 2 considere o seguinte código.

# How to define Python classes
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
  def method2(self,someString):    
      print "Software Testing:" + someString
      
   
      
def main():           
  # exercise the class methods
  c = myClass ()
  c.method1()
  c.method2(" Testing is fun")
  
if __name__== "__main__":
  main()


#How Inheritance works
# Example file for working with classes
class myClass():
  def method1(self):
      print "Guru99"
        
      
class childClass(myClass):
  #def method1(self):
        #myClass.method1(self);
        #print "childClass Method1" 
        
  def method2(self):
        print "childClass method2"     
         
def main():           
  # exercise the class methods
  c2 = childClass()
  c2.method1()
  #c2.method2()

if __name__== "__main__":
  main()

Aprenda nosso próximo tutorial sobre Polimorfismo em Python

Perguntas Frequentes

Uma classe é um modelo que define atributos e métodos, enquanto um objeto é uma instância concreta construída a partir dessa classe. Uma classe pode criar muitos objetos, cada um com suas próprias características e métodos.ping seus próprios dados.

Python A programação orientada a objetos se baseia em quatro pilares: encapsulamento (agrupar dados com métodos), abstração (estruturação de dados).tracção (ocultar complexidade), herança (reutilizar uma classe base) e polimorfismo (uma interface, muitas formas).

As variáveis ​​de classe são declaradas dentro do corpo da classe e compartilhadas por todas as instâncias. As variáveis ​​de instância são atribuídas dentro do método `__init__` usando `self` e pertencem a um único objeto.

A função `super()` retorna um proxy para a classe pai, permitindo que uma classe filha chame os métodos ou o construtor da classe pai sem precisar nomeá-la diretamente. Ela é frequentemente escrita como `super().__init__()` para inicializar atributos herdados.

O encapsulamento restringe o acesso direto aos dados internos de um objeto. Python, prefixe um atributo com um único sublinhado (_name) para proteção ou com dois sublinhados (__name) para alteração de nome.

sim. UMA Python Uma classe pode herdar de vários pais, como a classe Child(A, B). Python Resolve nomes de métodos duplicados usando a Ordem de Resolução de Métodos (MRO), inspecionada com o método mro().

A programação orientada a objetos é fundamental para estruturas de IA e aprendizado de máquina. Bibliotecas como PyTorO ch e o scikit-learn modelam redes, camadas e estimadores como classes, permitindo que você crie subclasses e as reutilize para construir modelos.

Sim. O GitHub Copilot e os assistentes de IA geram Python Classes, construtores e herança a partir de um breve prompt. Eles automatizam tarefas repetitivas, embora você deva revisar a saída para garantir a lógica correta.

Resuma esta postagem com: