请运行如下代码:
def func_1(Dict):
List = list()
for key in Dict.keys():
print(key+":"+str(Dict[key])+"\n")
return "\n"
class ObjEx():
print(func_1(locals()))
print(func_1(globals()))
def init(self):
self.attr_1 = "属性1"
print(self.func_1(locals()))
print(func_1(globals()))
return None
def func_1(self , Dict):
List = list()
for key in Dict.keys():
print(key+":"+str(Dict[key])+"\n")
return "\n"
Example_1 = ObjEx()
问题如下:
(1)在类中无法应用self.func_1,只能引用外部的func_1。Why?
(2)在类的方法定义中可以引用之后才定义的方法,如在init中引用之后才定义的self.func_1。但在类中引用的函数必须在其之前定义,如func_1必须定义在ObjEx之前。Why?
(3)是不是为了区分类中定义的变量和方法与类外定义的东西,必须在之前都加上self。self的作用到底是什么?
望大神不吝赐教。
感激不尽。