Python 解释器可以通过什么方式留下类定义?

Python 解释器可以通过什么方式留下类定义?,python,class,python-3.x,Python,Class,Python 3.x,我对以下陈述很感兴趣: 当类定义正常保留(通过端点)时,将创建一个类对象。(摘自) 还有什么其他方式可以“保留”类定义?我能想到一个语法错误。还有其他方法吗?我相信短语“当类定义正常保留(通过末尾)”指的是Python如何在编译的第一阶段构建对象类定义 假设您声明了一个类: # <--- `Foo` is NOT defined as a class object in this context class Foo: def say_hello(self): # Whatev

我对以下陈述很感兴趣:

当类定义正常保留(通过端点)时,将创建一个类对象。(摘自)

还有什么其他方式可以“保留”类定义?我能想到一个
语法错误
。还有其他方法吗?

我相信短语“当类定义正常保留(通过末尾)”指的是Python如何在编译的第一阶段构建对象类定义

假设您声明了一个类:

# <--- `Foo` is NOT defined as a class object in this context

class Foo:
  def say_hello(self):
    # Whatever
    pass

  # <--- Interpreter leaves class declaration here

# <--- `Foo` is now defined as a class object in this context

type(Foo)  # Returns `<type 'classobj'>`
#还有另一种方法:

>>> class A:
...     x = y
... 
Traceback (most recent call last):
  File "<stdin>", line 1, in <module>
  File "<stdin>", line 2, in A
NameError: name 'y' is not defined
>>A类:
...     x=y
... 
回溯(最近一次呼叫最后一次):
文件“”,第1行,在
文件“”,第2行,在
名称错误:未定义名称“y”

任何其他例外。当然!我认为
块中的任何内容只有在我实际构建该类的实例时才能执行。但不是函数定义的语句会立即执行。