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()
 
                    
                     
                    
                 
                    
                
 
                
            
         
         浙公网安备 33010602011771号
浙公网安备 33010602011771号