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()

 

posted @ 2021-03-02 15:45  寒冰宇若  阅读(244)  评论(0编辑  收藏  举报