¿Por qué una clase se “llama” cuando no se inicia? – Python

Por ejemplo, en el siguiente código:

class test: print "Hi" 

Python imprimiría automáticamente ‘hola’. Lo siento si esta es una pregunta obvia, pero no puedo averiguar por qué Python haría eso a menos que se iniciara un objeto de “prueba”. * Hace poco, comencé a progtwigr en general y Python es mi primer idioma, así que, por favor, ten un poco de piedad.

Estás construyendo una clase; el cuerpo de una clase se ejecuta como una función para construir la definición. El espacio de nombres local de esa ‘función’ forma el conjunto de atributos que conforman la clase. Vea la documentación de la statement de la class .

Los métodos en el cuerpo de la clase no se ejecutan; Al igual que las definiciones de funciones, debe llamarlas primero. Pero si no llamó por primera vez al cuerpo de la clase, no sabe qué métodos tiene la clase, en absoluto.

De la misma manera, cualquier código de nivel superior en un módulo se ejecuta cuando importa un módulo, para formar el espacio de nombres del módulo. Si coloca la print "Hi" en un módulo, también se ejecuta inmediatamente.