Discuss / Python / class绑定方法后为实例添加的属性,是类属性?!

class绑定方法后为实例添加的属性,是类属性?!

Topic source

class绑定方法,添加后的age应该是类属性,不是实例属性

>>> def set_age(self, age):
    self.age=age

>>> Student.set_age = MethodType(set_age, Student)
>>> s3=Student()
>>> s3.age=13
>>> s3.age
13
>>> s3.set_age(26)
>>> s3.age
13
>>> del s3.age
>>> s3.age
26

JeromeDeng

#2 Created at ... [Delete] [Delete and Lock User]
Student.set_age = MethodType(set_age, Student)

你原本就是给Student类上面加方法啊,如果是给实例加应该是:

Student.set_age = MethodType(set_age, s3)

应该是

s3.set_age = MethodType(set_age, s3)

本木lxy

#4 Created at ... [Delete] [Delete and Lock User]

同意公公刘的


  • 1

Reply