Understanding class Properties and Instance properties:
Variables defined directly within a class are called Class properties, class properties are public, each class instantiation automatically owns the properties of the class, and the initial address of this property of the instantiated object points to the address of the class attribute
If you assign a value directly to a property of an instantiated object, this changes the memory address of the property, and instead of pointing to the Class property address, it opens a space in the instance memory address to save the property
The self.xx defined within a class method are instance properties, are private, each instance has its own storage space, and the individual private properties exist in their own space
Of course, you can also add properties directly to an instantiated object, such as A1 is an instantiated object of animal, then A1.age = 18 Adds a class property to A1, but other instantiated objects of animal do not have an age property
class definition and instantiation of Python