¿Por qué a cls
veces se usa en lugar de self
como argumento en las clases de Python?
Por ejemplo:
class Person:
def __init__(self, firstname, lastname):
self.firstname = firstname
self.lastname = lastname
@classmethod
def from_fullname(cls, fullname):
cls.firstname, cls.lastname = fullname.split(' ', 1)
static member
ynon-static members
, entendido en el contexto de c ++Esta es una muy buena pregunta, pero no tan deseosa como la pregunta. Hay una diferencia entre el método usado 'self' y 'cls' aunque analógicamente están en el mismo lugar
Ahora puede ver que ambas son funciones lunares, pero una se puede usar dentro de la clase, mientras que otra función se puede usar para cualquier clase.
Para un enfoque práctico de programación:
Al diseñar la clase de círculo, utilizamos el método de área como cls en lugar de self porque no queremos que el área se limite solo a una clase particular de círculo.
fuente
- Trucos de Python
fuente