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:这是有道理的。不过我也不知道。