Directorio de artículos
Gramática básica orientada a objetos
En Python, los objetos están en casi todas partes y podemos usar dir
funciones 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
eat
ydrink
. - 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 yhello_kitty
el 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, self
a 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] Use Selenium para obtener entradas (2023 Blog Star)
[Xiaobai debe ver] Python rastrea un ejemplo de datos de jugadores de la NBA
[Xiaobai debe ver] Visualización y procesamiento de datos del rastreador de Python
[Imprescindible para Xiaobai] Use Python para generar una lista personalizada de documentos de Word
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
Primeros pasos con los reptiles (1): aprenda los conceptos básicos y las habilidades de los reptiles
Conceptos básicos de programación orientada a objetos de Python y código de muestra
Guía de operación de archivos de Python: codificación, lectura, escritura y manejo de excepciones
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 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