Diretório de artigos
Gramática Básica Orientada a Objetos
Em Python, os objetos estão em quase todos os lugares e podemos usar dir
funções internas para visualizar os métodos desse objeto.
Defina uma classe simples (contém apenas métodos)
Orientado a objetos é um encapsulamento maior, encapsulando vários métodos em uma classe, de forma que os objetos criados através desta classe possam chamar diretamente estes métodos!
definir classe
Para definir uma classe que contém apenas métodos em Python, a sintaxe é a seguinte:
class 类名:
def 方法1(self,参数列表):
pass
def 方法2(self,参数列表):
pass
O formato de definição do método é o mesmo da função aprendida anteriormente. O primeiro parâmetro no método deve ser self
, lembre-se dele por enquanto e introduza-o mais tarde self
. Os nomes das classes devem seguir a convenção de nomenclatura camelCase superior.
Criar um objeto de instância
Após a conclusão de uma definição de classe, use esta classe para criar um objeto, a sintaxe é a seguinte:
对象变量名 = 类名()
primeiro código orientado a objeto
precisar
O gatinho adora comer peixe e o gatinho quer beber água.
analisar
- Defina uma classe de gato
Cat
. - Defina dois métodos
eat
edrink
. - Conforme necessário - nenhuma propriedade precisa ser definida.
class Cat:
"""这是个猫类"""
def eat(self):
print("小猫在吃东西")
def drink(self):
print("小猫在喝水")
tom = Cat() # 创建了一个Cat对象
tom.eat()
tom.drink()
hello_kitty = Cat() # 又创建了一个新的Cat对象
hello_kitty.eat()
hello_kitty.drink()
Pensando:
tom
É ehello_kitty
o mesmo objeto?
uso de si mesmo
Adicionar propriedades aos objetos
Python oferece suporte a atributos dinâmicos. Quando um objeto é criado, 对象.属性名 = 属性值
você pode facilmente adicionar um atributo ao objeto usando-o diretamente.
tom = Cat()
tom.name = 'Tom' # 可以直接给 tom 对象添加一个 name 属性
Esse método é conveniente, mas não é recomendável adicionar propriedades a objetos dessa maneira.
O conceito de si
Qual objeto chama o método, self
quem é referido no método. Através self.属性名
das propriedades deste objeto pode ser acessado, através self.方法名()
do método deste objeto pode ser chamado.
class Cat:
def eat(self):
print("%s爱吃鱼" % self.name)
tom = Cat()
tom.name = 'Tom' # 给 tom 对象添加了一个name属性
tom.eat() # Tom爱吃鱼
lazy_cat = Cat()
lazy_cat.name = "大懒猫"
lazy_cat.eat() # 大懒猫爱吃鱼
Desvantagens de adicionar propriedades diretamente aos objetos
No código acima, criamos o objeto primeiro e depois adicionamos o atributo name ao objeto, mas haverá problemas ao fazer isso.
tom = Cat()
tom.eat()
tom.anme = "Tom"
Quando o programa for executado, um erro será relatado:
AttributeError: 'Cat' object has no attribute 'name'
Mensagem de erro: o objeto 'Gato' não possui o atributo 'nome'.
No desenvolvimento diário, não é recomendado adicionar propriedades diretamente a objetos fora da classe. Quais propriedades o objeto deve ter, devemos encapsulá-las dentro da classe.
Caso avançado
[Python] Python realiza o jogo de adivinhação de palavras - desafie sua inteligência e sorte!
[python] Biblioteca Python tkinter implementa programa GUI para conversor de unidade de peso
[python] Use Selenium para obter entradas (2023 Blog Star)
[Xiaobai deve ver] Python rastreia um exemplo de dados do jogador da NBA
[Imperdível para Xiaobai] Exemplo de código para rastrear e salvar áudio do Himalaia usando Python
[Xiaobai deve ver] Processamento e visualização de dados do rastreador Python
[Imperdível para Xiaobai] Use Python para gerar uma lista personalizada de documentos do Word
Processamento e visualização de dados geoespaciais usando geopandas e shapely (.shp)
Use o selênio para rastrear os dados da lista de filmes Maoyan
Algoritmo de aprimoramento de imagem Retinex Princípio e implementação Explicação detalhada
Guia de primeiros passos para répteis (1): aprenda o básico e as habilidades dos répteis
Noções básicas de programação orientada a objetos Python e código de amostra
Guia de operação de arquivo Python: codificação, leitura, gravação e tratamento de exceções
Use Python e Selenium para automatizar o rastreamento.
Selenium Automation Toolset - Guia Completo e Tutoriais
Noções básicas do rastreador da web Python avançado para tutorial de combate real
Tutorial de processamento e análise de dados do Pandas: do básico ao combate real
Explicação detalhada dos tipos de dados comumente usados e operações relacionadas em Python