"Si un trabajador quiere hacer bien su trabajo, primero debe afilar sus herramientas." - Confucio, "Las Analectas de Confucio. Lu Linggong"
Página delantera > Programación > ¿Cómo evitar el intercambio de datos de clase entre instancias en Python?

¿Cómo evitar el intercambio de datos de clase entre instancias en Python?

Publicado el 2024-12-22
Navegar:909

How to Prevent Class Data Sharing Between Instances in Python?

Cómo aislar datos de clase para instancias individuales

Para evitar que los datos de clase se compartan entre varias instancias y garantizar que cada instancia mantenga sus propios datos, siga estos pasos:

Declarar variables dentro del constructor (método __init__)

En lugar de Al declarar variables de nivel de clase fuera de cualquier método, defínalas dentro del método constructor init. Por ejemplo:

class a:
    def __init__(self):
        self.list = []  # Declared within __init__ to create instance-specific lists

Al inicializar la lista dentro de __init__, se crea una nueva instancia de la lista junto con cada nueva instancia del objeto.

Código de muestra:

class a:
    def __init__(self):
        self.list = []

x = a()
y = a()

x.list.append(1)
y.list.append(2)
x.list.append(3)
y.list.append(4)

print(x.list)  # prints [1, 3]
print(y.list)  # prints [2, 4]

En este ejemplo, la lista ya no se comparte entre las dos instancias (xey), y cada instancia mantiene sus propios datos separados, según se desee .

Último tutorial Más>

Descargo de responsabilidad: Todos los recursos proporcionados provienen en parte de Internet. Si existe alguna infracción de sus derechos de autor u otros derechos e intereses, explique los motivos detallados y proporcione pruebas de los derechos de autor o derechos e intereses y luego envíelos al correo electrónico: [email protected]. Lo manejaremos por usted lo antes posible.

Copyright© 2022 湘ICP备2022001581号-3