每天一点python——day93

#每天一点Python——93
#类的动态绑定属性和方法
'''
类是模板是图纸
可以创建n多个同类型的对象,由于类型是相同的,所以每个对象的属性名称都是相同的,但是属性值可以不同。
例如:根据车的图纸制造出了三辆汽车,都有颜色这个属性,但是其中颜色属性有不同,如红黄蓝绿,所以这就算一个动态不同。
'''
#我们继续拿之前就创建好的类
class Student():
    school='XX学校'
    def __init__(self,xingming,age):
        self.name=xingming
        self.age=age

    def show(self):
        print(f'我叫:{self.name},今年{self.age}岁了')
#这是一个学生类,里面有类属性,有个初始化方法,还有一个我们定义的show()方法
#现在我们创建两个Studen对象
stu1=Student(xingming='阿四',age=20)
stu2=Student(xingming='阿五',age=21)
#你在这里调用的属性都是xingming和age【现在进行打印输出不同的属性值】
print(stu1.name,stu2.age)
#输出结果:阿四 21
#现在我们为stu1动态绑定一个实例属性
stu1.xingbie='男'
#现在我们输出stu1的属性会有三个
print(stu1.name,stu1.age,stu1.xingbie)
#输出结果:阿四 20 男
#stu1.xingbie是stu1独有的属性,stu2是没有的,如果要强制输出会报错。


#动态绑定方法【我们定义的里面只有一个方法,我们现在再创建一个】
def ziwojieshao():#我们把他定义在了类的外面,现在叫做函数
    print('我是一个普通的函数,定义在类外,我现在需要变动态,绑定stu2对象的方法')
stu2.fun=ziwojieshao#这里是函数的一个赋值【千万不要加小括号,加了就是调用了】不加就是赋值,叫绑定
#现在已经绑定完成了,fun就是stu2对象的方法了,可以调用了【这变成了对象的方法,就属于我们的实例方法,调用就是打点】
stu2.fun()
#输出:我是一个普通的函数,定义在类外,我现在需要变动态,绑定stu2对象的方法
'''
这就是我们的一个动态绑定
'''

  • 9
    点赞
  • 8
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值