[Aprende Python desde cero] 39. Gramática básica orientada a objetos y ejemplos de aplicación

Gramática básica orientada a objetos

En Python, los objetos están en casi todas partes y podemos usar dirfunciones integradas para ver los métodos en este objeto.

Definir una clase simple (contiene solo métodos)

Orientado a objetos es una encapsulación mayor, encapsulando múltiples métodos en una clase, de modo que los objetos creados a través de esta clase puedan llamar directamente a estos métodos.

definir clase

Para definir una clase que solo contenga métodos en Python, la sintaxis es la siguiente:

class 类名:
    def 方法1(self,参数列表):
        pass
    def 方法2(self,参数列表):
        pass

El formato de definición del método es el mismo que el de la función aprendida antes. El primer parámetro en el método debe ser self, recuérdelo por ahora e introdúzcalo más tarde self. Los nombres de clase deben seguir la convención de nomenclatura camelCase superior.

Crear un objeto de instancia

Una vez completada la definición de una clase, use esta clase para crear un objeto, la sintaxis es la siguiente:

对象变量名 = 类名()

primer código orientado a objetos

necesidad

Al gatito le encanta comer pescado y quiere beber agua.

analizar

  • Defina una clase de gato Cat.
  • Defina dos métodos eaty drink.
  • Según sea necesario, no es necesario definir ninguna propiedad.
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¿Es y hello_kittyel mismo objeto?

uso de uno mismo

Agregar propiedades a los objetos

Python admite atributos dinámicos. Cuando se crea un objeto, 对象.属性名 = 属性值puede agregar fácilmente un atributo al objeto usándolo directamente.

tom = Cat()
tom.name = 'Tom'  # 可以直接给 tom 对象添加一个 name 属性

Este método es conveniente, pero no se recomienda agregar propiedades a los objetos de esta manera.

El concepto de uno mismo

Qué objeto llama al método, selfa quién se hace referencia en el método. A través self.属性名de las propiedades de este objeto se puede acceder, a través self.方法名()del método de este objeto se puede llamar.

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() # 大懒猫爱吃鱼

Desventajas de agregar propiedades directamente a los objetos

En el código anterior, primero creamos el objeto y luego agregamos el atributo de nombre al objeto, pero habrá problemas al hacerlo.

tom = Cat()
tom.eat()
tom.anme = "Tom"

Cuando se ejecuta el programa, se informará un error:

AttributeError: 'Cat' object has no attribute 'name'

Mensaje de error: el objeto 'Gato' no tiene el atributo 'nombre'.

En el desarrollo diario, no se recomienda agregar propiedades directamente a objetos fuera de la clase. Qué propiedades debe tener el objeto, debemos encapsularlas dentro de la clase.

Caso avanzado

[Python] Python se da cuenta del juego de adivinanzas: ¡desafía tu inteligencia y tu suerte!

[python] La biblioteca Python tkinter implementa un programa GUI para el convertidor de unidades de peso

[python] Use Selenium para obtener entradas (2023 Blog Star)

[python] Use Selenium y Chrome WebDriver para obtener información de artículos en [Tencent Cloud Studio Practical Training Camp]

Use el estudio Tencent Cloud Cloud para realizar la programación Baidu AI para realizar el reconocimiento de texto

[Diversión con la serie Python [Xiaobai debe ver] Rastreador de subprocesos múltiples de Python: descargue imágenes de sitios web de paquetes de emoticonos

[Serie Juega con Python] [Imprescindible para Xiaobai] Usa Python para rastrear datos históricos de Shuangseqiu y analizarlos visualmente

[Jugar con la serie python] [Imprescindible para Xiaobai] Utilice la tecnología de rastreo de Python para obtener una IP proxy y guardarla en un archivo

[Imprescindible para Xiaobai] Ejemplo de síntesis de imágenes de Python usando la biblioteca PIL para realizar la síntesis de múltiples imágenes por rangos y columnas

[Xiaobai debe ver] El combate real del rastreador de Python descarga imágenes de diosas en lotes y las guarda localmente

[Xiaobai debe ver] Análisis detallado del generador de nube de palabras de Python e implementación de código

[Xiaobai debe ver] Python rastrea un ejemplo de datos de jugadores de la NBA

[Imprescindible para Xiaobai] Código de muestra para rastrear y guardar audio del Himalaya usando Python

[Imprescindible para Xiaobai] Realización técnica del uso de Python para descargar imágenes de piel de League of Legends en lotes

[Xiaobai debe ver] Visualización y procesamiento de datos del rastreador de Python

[Imprescindible para Xiaobai] Programa rastreador de Python para obtener fácilmente imágenes de piel de héroe de King of Glory

[Imprescindible para Xiaobai] Use Python para generar una lista personalizada de documentos de Word

[Imprescindible para Xiaobai] Combate de rastreadores de Python: obtenga imágenes del sitio web de Onmyoji y guárdelas automáticamente

Xiaobai debe ver la serie de sistemas de gestión de bibliotecas: código de muestra para las funciones de inicio de sesión y registro

100 casos del combate real de Xiaobai: un programa completo y simple de sentencia ganadora de la lotería Shuangseqiu, adecuado para los primeros pasos de Xiaobai

Procesamiento y visualización de datos geoespaciales usando geopandas y shapely (.shp)

Utilice selenio para rastrear los datos de la lista de películas de Maoyan

Explicación detallada del principio y la implementación del algoritmo de mejora de imagen Retinex

Guía de introducción a los rastreadores (8): Escriba programas rastreadores de datos meteorológicos para el análisis visual

Guía introductoria a los rastreadores (7): Uso de Selenium y BeautifulSoup para rastrear la película Douban Top250 Ejemplo de explicación [Reptile Xiaobai must watch]

Guía de inicio de rastreadores (6): Anti-rastreadores y habilidades avanzadas: proxy de IP, disfraz de agente de usuario, verificación de inicio de sesión de omisión de cookies y herramientas de identificación de código de verificación

Guía introductoria a los rastreadores (5): rastreadores distribuidos y control de concurrencia [Métodos de implementación para mejorar la eficiencia del rastreo y el control de la racionalidad de las solicitudes]

Introducción a los rastreadores (4): la mejor forma de rastrear páginas web dinámicas con Selenium y API

Guía de introducción a los rastreadores (3): solicitudes de red de Python y estrategias comunes contra los rastreadores

Introducción a los rastreadores (2): cómo utilizar expresiones regulares para la extracción y el procesamiento de datos

Primeros pasos con los reptiles (1): aprenda los conceptos básicos y las habilidades de los reptiles

Aplicación del modelo de aprendizaje profundo en el reconocimiento de imágenes: práctica de conjuntos de datos CIFAR-10 y análisis de precisión

Conceptos básicos de programación orientada a objetos de Python y código de muestra

Guía de operación de la base de datos MySQL: aprenda a usar Python para agregar, eliminar, modificar y consultar operaciones

Guía de operación de archivos de Python: codificación, lectura, escritura y manejo de excepciones

Utilice Python y Selenium para automatizar el rastreo#【Convocatoria especial para el Festival del Bote del Dragón】Explore la última tecnología, y el futuro será gracias a usted"Zong" #Artículos contribuidos

Tutorial multihilo y multiproceso de Python: análisis completo, casos de código y habilidades de optimización

Conjunto de herramientas de automatización de Selenium - Guía completa y tutoriales

Tutorial de los conceptos básicos del rastreador web de Python avanzados al combate real

Tutorial introductorio de Python: domine los conocimientos básicos de for loop, while loop, operación de cadenas, lectura y escritura de archivos y manejo de excepciones

Tutorial de procesamiento y análisis de datos de Pandas: desde lo básico hasta el combate real

Explicación detallada de los tipos de datos de uso común y las operaciones relacionadas en Python

[Último en 2023] Explicación detallada de seis esquemas principales para mejorar el modelo de índice de clasificación

Introducción a los conceptos básicos y habilidades avanzadas de programación de Python, desarrollo web, análisis de datos y aprendizaje automático e inteligencia artificial

Gráfico de resultados de predicción con 4 métodos de regresión: regresión vectorial, regresión de bosque aleatorio, regresión lineal, regresión de vecinos más cercanos K

Supongo que te gusta

Origin blog.csdn.net/qq_33681891/article/details/132355645
Recomendado
Clasificación