摘要: 11. 进阶面向对象 - 3 super方法 引入 上一节课程我们知道,如果父类中的方法在派生的子类中不能满足其需求的话,可以在子类中通过重写解决这个问题 但是很多情况下,父类中的方法并不是全部一点都不能用,即子类的需求往往是在父类方法实现的功能基础上提出了更多的需求而已,此时如果我们在子类中重写此 阅读全文
posted @ 2023-03-30 20:54 一袋林檎 阅读(20) 评论(0) 推荐(0)
摘要: 迭代器 引入 如果开发中有以下需求,如何解决? class StuSystem(object): """ 学生管理系统 """ def __init__(self): self.stus = [] def add(self): """ 添加一个新的学生 :return: """ name = inp 阅读全文
posted @ 2023-03-30 20:54 一袋林檎 阅读(20) 评论(0) 推荐(0)
摘要: 生成器 引入 在Python中,使用生成器可以很方便的支持迭代器协议。生成器通过生成器函数产生,生成器函数可以通过常规的def语句来定义,但是不用return返回,而是用yield一次返回一个结果,在每个结果之间挂起和继续它们的状态,来自动实现迭代协议。 也就是说,yield是一个语法糖,内部实现支 阅读全文
posted @ 2023-03-30 20:54 一袋林檎 阅读(58) 评论(0) 推荐(0)
摘要: 闭包 引入 想想看怎样用程序实现下面的功能呢? 在一个聊天软件中显示是谁发送了这条信息,即:一条信息标记了是谁发送的 今天我们要研究的知识点是闭包,实现上述功能的方式可能有多种,但是闭包会更简单。 问题解决 普通方式 def say(user_name, content): print("(%s): 阅读全文
posted @ 2023-03-30 20:54 一袋林檎 阅读(23) 评论(0) 推荐(0)
摘要: 装饰器 装饰器是python语言中的语法糖,可以通过装饰器对函数的功能进行拓展。 为什么需要装饰器 我们假设你的程序实现了say_hello()和say_goodbye()两个函数。 def say_hello(): print("hello!") def say_goodbye(): print( 阅读全文
posted @ 2023-03-30 20:54 一袋林檎 阅读(46) 评论(0) 推荐(0)