这个打印出来的为什么是1
来源:9-6 类变量与实例变量
星期9
2018-02-27
class Student(): name = '1' age = 0 # 类变量(和类相关联在一起的,以上两个是类变量),实例变量(和对象相关联在一起的,下面两个是实例变量)的区别 def __init__(self,name,age): name = self.name age = self.age print(name) def do_homework(self): print('homework') student = Student(1,2)
写回答
3回答
-
7七月
2018-03-06
一般不会这么写name=self.name,但是如果你要这么写。这是因为self.name 讲指向类变量name,这个是因为变量有查找顺序,课程里有讲过。然后你把self.name 赋值给name,最后又打印出name,当然是类变量的1.
00 -
lemonlxn
2018-03-01
你在构建函数里面的self写的有问题,你继续再回看教程吧
022018-03-08 -
7七月
2018-02-27
你为什么要这么写?self.name 赋值给另外一个变量?我没太明白这么写的目的是什么。
00
相似问题