Python高级培训第二次(寒假) 2022-1-4

课程主要内容有三块,分别是(1)动态添加方法和属性,(2)重载运算符 (3)property

(1)动态添加方法和属性 

重点内容和讲解已经全在注释里面了

from types import MethodType   # 动态添加方法时必须导入!类似于之前偏函数的概念


class Car(object):    # 创建一个猫猫类,其中没有奔跑方法
    pass    # 创建空类以更好展示


car_1 = Car()    # 实例化一个猫猫


def cargo(self):  # 在类之外定义一个方法!以此来展示动态添加方法的概念!
    print("猫猫在奔跑!")   # 所谓的动态 就是在实例化对象之后仍然能添加属性方法,侧面体现了动态语言的灵活性


car_1.go = MethodType(cargo, car_1)   # !利用我们导入的MethodType(在外定义方法名,实例对象名)函数进行动态添加
car_1.go() # 这样就可以直接用点语法进行调用啦!

(2)重载运算符

重点内容和讲解已经全在注释里面了

class Student(object):  # 首先,创建一个类
    def __init__(self, cj, name):  # 构造函数添加属性,添加cj(成绩)和name(名字)以更好展现运算符重载的内容
        self.cj = cj
        self.name = name

    def __pow__(self, other):  # 对求冥进行运算符重载
        return self.cj ** other.cj

    def __cmp__(self, other):   # 对比较进行运算符重载
        return self.cj == other.cj


student_1 = Student(5, "鱼鱼")   # 实例化几个对象进行实验
student_2 = Student(2, "yuyu")
student_3 = Student(4, "鱼鱼")
print(student_1 ** student_2)   # pow的
print(student_1 == student_3)   # cmp的
print(student_1 == student_2)

(3)property

画了简单的思维导图

 

全部手写笔记:

 

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值