本python是python 3.5版本~!!!
class aa:
w = 10
def __init__(self):
self.x = 11
self.y = 12
def add(self):
return self.x + self.y
a = aa() #将a投入aa这个类中,进行实例化# print a.add() #这个结果显然易见# #下边两条指令各起何作用?结果是输出两个 20 么?还是两个13?还是? aa.w = 20
#注意!aa.w不是一个叫aa的实例里面的w属性,而是类aa,他里面的w属性,这句话其实等于
class aa:
w=20 #
a.w = 13 #正常情况下,a.w的应该是10,但是这里手工赋值为13# print aa.w, a.w #所以这个答案也显而易见啦# #程序继续增加如下,怎样理解这t和q呢?他们是___变量 a.t = 14 #实例a里面的属性t的值# a.q = 15 #原理同上# print a.t, a.q #程序继续增加如下,怎样理解这m和n呢?他们是___变量 aa.m = 30 #同aa.w=20那句话一样,只不过用这种方式增加属性,而不用从头再把那个类写一遍,
这句话其实等于
class aa:
m=20 #
aa.n = 40 print aa.m, aa.n #好了再来个提升吧 #程序继续增加,下列三个print语句都能正确执行么?为何? b = aa() #b属于这个aa类# print b.x,b.y #这个很直白# print b.t,b.q print b.m,b.n #m和n在上面的程序里已经被aa添加了,所以结果是什么应该显而易见了# #要解决以上问题,首先得清晰何时类才有了类变量,实例有了实例变量? #其次要深入理解类变量的作用,实例变量存在的范围和谁相关!