Python学习系列之动态绑定属性和方法(二十六)
动态绑定属性和方法
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()