为什么在python中调用内部类

时间:2016-04-07 00:39:59

标签: python function scope inner-classes

我有声明类

的功能
>>> def a():
...     class A:
...         print "a"
...

当我调用函数时,为什么要打印a

>>> a()
a

3 个答案:

答案 0 :(得分:5)

因为那是你告诉它的事情。在class块中编写的代码没有什么特别之处,除了赋值将成为属性,其中定义的正常函数将转换为方法。所有其他代码只是......执行。

答案 1 :(得分:5)

print "a"在创建类A(不是A的实例)时执行,而a()正在创建该类。

通常,它对设置类变量等非常有用。

答案 2 :(得分:2)

定义类时执行

print "a" - 当你调用函数时会发生这种情况。