python 实例属性与类属性

1、给实例绑定一个属性

class Student():
    pass
s=Student()
s.name='Chloe;

2、给实例绑定一个方法

class Student():
    pass
def set_age(self,age):
    self.age=age

from types import MethodType
s.set_age=MethodType(set_age, s)

s.set_age(25)
print(s.set_age)

给一个实例绑定方法,对另一个实例是不起作用的

3、给class绑定一个方法

class Student():
    pass
def set_age(self,age):
    self.age=age

Student.set_age=set_age

s.set_age(25)
print(s.set_age)

使用__ slots__

限制实例属性
只允许对Student实例添加name和age属性

class Student(object):
    __slots__=('name',age)
s=Student()
s.name='Chloe'
s.age=24
s.score=120
print(s.name,s.age,s.score)
运行结果

你可能感兴趣的:(python 实例属性与类属性)