python中用类和用对象调用类变量的区别

静态变量(类变量)定义在class中,但不在任何一个函数中。
类变量是属于类的,不属于任何一个对象。
类变量是属于类的,不属于任何一个对象。
类变量是属于类的,不属于任何一个对象。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。
在用对象名调用类变量时,会先从对象中查找,如果没有再从类中查找。

class test:
    vv = 0
    def __init__(self):
        test.vv += 1
        print("id(test.vv)\t", id(test.vv)) #用类名调用的地址
        print("在类中test.vv\t",test.vv,"\n")


t1 = test()
print(id(t1.vv))    #用对象调用,此时因对象中没有,所以是在类查找
t1.vv = 10  		#用对象名调用vv变量赋值,此时新建了一个对象的vv变量
print(id(t1.vv))	#对对象的vv变量赋值后,不再去类中查找
print(id(test.vv))
print("t1.vv\t",t1.vv)
print("test.vv\t",test.vv)

输出

id(test.vv)	 140732696879952
在类中test.vv	 1 

140732696879952
140732696880240
140732696879952
t1.vv	 10
test.vv	 1
  • 0
    点赞
  • 2
    收藏
    觉得还不错? 一键收藏
  • 1
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 1
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值