class A:
def __init__(self):
self.name = None
self.a = 10
self.b = 20
self.c = 30
def func1(self, param1, param2):
def inner_func1(self, param1, param2):
print(self, self.a, self.b)
inner_func1(self, param1, param2)
a = A()
print(a)
a.func1(1,2)
我的第一个问题——将self
参数传递给类方法的嵌套函数是否合法?我在 python-3.5.2 上运行这段代码没有问题,并且都print()
显示了 A 类实例的相同地址。但是 python-3.6 在线抱怨print(self, self.a, self.b)
没有self
member a
。
同样有趣的是PyCharm
IDE 没有self
在这一行突出显示,并说它“超出了外部范围”。
我到底做错了什么?