class C(nn.Module):
cc = '外'
def __init__(self):
super(C, self).__init__()
cc = '内' # 相当于函数内部变量,在这个函数内部可以随便使用( __init__()内部可以随便使用 )
self.c1 = '1'
#self.c2 = '2'+cc
print('-----local-----:',locals())
print('self.c1:',self.c1)
print('self.cc',self.cc)
print('cc:',cc)
def cf(self):
print('c1*cc=', self.c1+self.cc)
print('---------local-----:',locals())
c = C()
print(C.cc)
print('c.c:',c.cc)
c.cf()
结果图
- 定义在init(self)初始化函数中不带self的变量"cc",只是函数 init(self) 的局部变li量,只能在函数init()内部使用。
- 类属性'cc',可以在任何位置使用,不过要通过self对象来调用,也就是说类属性是 C 这个类的属性。通过local() 函数也可以看出,当前的能使用的变量并没有直接出现 类属性‘cc’,而是出现了self对象。