采纳答案成功!
向帮助你的同学说点啥吧!感谢那些助人为乐的人
# 关于实例方法引用类变量,能否通过 self.ClassArg += value 的方式,而不是 self.__class__.ClassArg += value
class Student():
# 类变量 数据成员
sum = 1
def __init__(self, name, age):
#实例变量 实例方法
self.name = name
self.age = age
self.__class__.sum += 1
# 这样的方式,不知道是否可以使用 self.sum += 1
谈谈我的看法:self.sum += 1调用语法上不会报错,同时调用的也是类变量,
但是self.sum += 1累加的结果不会作用到类本身(不会改变类变量的值)
而self.__class__.sum += 1 累加的结果会改变类变量本身的值
代码:
class People():
sum = 0
def __init__(self,name):
def print_sum(self):
self.sum += 1
print(self.sum)
print(self.__class__.sum)
people1 = People('鸡小萌')
people1.print_sum()
print(People.sum)
赞!谢谢了,
哈哈看到课程的时候有了同样的疑问,为什么要家__class__.
class Student(): name='sakura' age=23 sum=0 def __init__(self, name, age): self.name = name self.age = age print(self.name) print(name) print(id(self.sum)) print(id(self.__class__.sum))
self.sum就是self.__class__.sum,可以用id函数来验证
其实。self可以理解为当前构造函数的上一级,就是Student
登录后可查看更多问答,登录/注册
语法精讲/配套练习+思考题/原生爬虫实战
5.5k 7
2.5k 3
2.1k 4
4.1k 22
2.3k 19