Python 什么';允许在类主体中直接使用语句有什么意义?

Python 什么';允许在类主体中直接使用语句有什么意义?,python,Python,我想知道在任何方法之外执行语句的用例是什么: class AClass: print('Your class object is being built...') def __init__(self, welcome): self.welcome = welcome print('Done! You can use it now!') def use_it(self, name): print(self.welcome

我想知道在任何方法之外执行语句的用例是什么:

class AClass:

    print('Your class object is being built...')

    def __init__(self, welcome):
        self.welcome = welcome
        print('Done! You can use it now!')

    def use_it(self, name):
        print(self.welcome, name + '!')

AClass('Welcome').use_it('World')

类定义中的所有内容都是代码。每个
def
都是执行的语句。并不是说在类定义中执行语句有什么特殊用途,而是类定义在Python中没有什么特殊之处,只是由临时名称空间中的一组普通语句组成

但对于实际用例,您可以这样做:

class Foo:
    def bar(self):
        pass

    baz = bar  # alias

或者你能想到的任何其他动态诡计。

现在看起来很明显!还有比赋值更有用的吗?你可以使用循环,如果你觉得它们有用的话…?您可以使用
if..else
定义不同的方法,例如基于Python版本…?我要(再次)强调一个事实,即您可以执行任何类型的代码,这些代码以您需要的任何动态方式定义类结构。通常情况下,没有太多的必要性,但是如果你发现自己处于某种特定的情况下,你就不会受到语言机制的限制,只允许一个特殊的表达式子集。在课堂上不允许陈述有什么意义?@wim:如果你问我,我不知道,告诉我……我的论点是:没有理由不允许它,所以,这就是为什么它没有被禁止。@wim:这是有道理的。不过我也不知道。