因为 testArray 方法只要求为 self 参数传值,没有规定必须是一个类的对象,所以理论上 Hello.testArray() 里可以是任何值。
但是如果 self 参数传的不是一个类对象,就会引发一个后果:一旦 testArray 方法使用 self 参数调用其他类方法,或者简单的用 self 定义一个实例变量,如 self.x = '123',都会导致程序崩溃报错。
这也就失去了用类的意义。
另外,“类名.方法名” 的这种调用方式是给静态方法和类方法用的,你这里 testArray 是一个实例方法,最好用 hello.testArray() 的方式调用,红框里的用法是一种很别扭的形式。
至于什么是实例方法、类方法、静态方法,搜一下就知道了。