动态绑定属性和方法
Python是动态语言,在创建对象之后,可以动态地绑定属性和方法
1. 动态地绑定属性
代码示例:
'''动态地绑定属性'''
class Student:
def __init__(self,name,age):
self.name=name
self.age = age
#实例方法
def eat(self):
print('学生在吃饭...')
stu1=Student('张三',20)
stu2=Student('李四',30)
stu1.gender='女' #动态绑定性别
print(stu1.name,stu1.age,stu1.gender)
print(stu2.name,stu2.age)
执行结果:

说明:一个Student类可以创建N个Student类的实例对象,每个实体对象的属性值可以不同
代码示意图如下:

2. 动态的绑定方法
'''动态地绑定方法'''
class Student:
def __init__(self,name,age):
self.name=name
self.age = age
#实例方法
def eat(self):
print('学生在吃饭...')
stu1=Student('张三',20)
stu2=Student('李四',30)
# stu1.gender='女' #动态绑定性别
# print(stu1.name,stu1.age,stu1.gender)
# print(stu2.name,stu2.age)
def show(): #函数
print('我是动态绑定的函数')
stu2.show=show #动态绑定方法,函数绑定到对象上就是方法
stu2.show() #stu1.show()执行时会报错AttributeError,因为stu1没有绑定show方法
执行结果

说明:stu2.show=show 是动态绑定方法的写法
----------------------------------
类对象总结:
类对象有类属性、类方法、静态方法、实例方法
实例对象使用类名()创建实例对象c
实例对象可以动态绑定属性,stu1.gender='女'
实例对象可以动态绑定方法,stu2.show=show stu2.show()