congjieba 发表于 2018-12-15 16:56:15

求解!!!!!!!!

class Name():
    sum = 0
    def __init__(self,name,age):
      self.name= name
      self.age = age
      

    @classmethod
    def plus(cls):
      cls.sum +=1
      print(cls.sum)


a = Name("王从杰",18)
Name.plus()
b = Name("从杰爸",45)
Name.plus()
实在想不出来这个sum 为什么会加1sum明明跟构造函数没有关系啊那位大佬给指点一下

heidern0612 发表于 2018-12-15 17:12:19

本帖最后由 heidern0612 于 2018-12-16 11:21 编辑

你不直接调用的类方法吗?类属性默认值是0。调用两次,类属性共享,结果不是1和2么?

塔利班 发表于 2018-12-15 17:12:40

sum是类属性

congjieba 发表于 2018-12-15 18:19:17

heidern0612 发表于 2018-12-15 17:12
你不直接调用的类方法吗?类方法默认值是0。调用两次,类方法属性共性,结果不是1和2么?

感谢

congjieba 发表于 2018-12-15 18:19:48

塔利班 发表于 2018-12-15 17:12
sum是类属性

感谢

congjieba 发表于 2018-12-16 08:59:44

heidern0612 发表于 2018-12-15 17:12
你不直接调用的类方法吗?类方法默认值是0。调用两次,类方法属性共享,结果不是1和2么?

感谢
页: [1]
查看完整版本: 求解!!!!!!!!