面向对象编程(OOP)

可迭代 >迭代器> 生成器

可迭代:实现的python的迭代协议,可以通过 for in循环遍历的对象,比如list dict 等内置数据类型,可以实现python的_iter()方法

迭代器:可以实现python中的——iter() _next()等方法,只能往前,不能 往后

生成器:通过yield来实现生成器,生成器也是只能往前不能往后

迭代器 和生成器都可以调用_next()方法

可迭代的对象(包含生成器),均可以通过iter(obj)转化成迭代器

封装 继承 多态

优先使用组合

继承容易使代码冗余

区分类变量和实例变量

类变量由所有实例共享

实例变量只能由实例单独共同享有,不能实例之间不会相互影响

当我们需要在一个类的不同实例之间共享变量的时候使用类变量

classmethod/staticmethod,实例方法 区别

(类方法和静态方法)

实例方法:只能用实例对象调用

类方法:使用装饰器@classmethod ,第一个参数必须是当前类对象,一般约定‘cls,通过它来实现类的属性和方法的调用

类和实例对象都可以调用

静态方法:使用装饰器@staticmethod,参数随意,没有’self'和‘cls’参数,方法体中不能使用类和实例的任何属性和方法

调用:类和实例对象都可以调用

装饰器

记录日志,

装饰器是接受函数作为参数,添加功能后返回一个新函数的函数(类)

类做装饰器的时候需要继承一下__call__

可以在装饰器上添加参数,只不过需要在类中添加__init__初始化

什么是元类?使用场景

适用于框架

元类是创建类的类

用type定义(类的属性保存在字典当中)

常见的设计模式

创建型模式,结构型模式 行为型模式

单例:一个类只能创建同一个对象,python的模块都是单例模式

工厂:

对象池模式

工厂模式:

解决对象创建问题

解耦对象的创建与应用

结构型模式:

装饰器模式

代理模式

适配器模式:给不同的悐统一接口的时候

MVC:

行为模式

迭代器模式:for  循环,可以实现_next_ 和_iter_的是迭代器

观察者模式:

策略模式

什么是闭包

引用了外部自由变量的函数

自由变量;不在当前函数定义的变量

特性:自由变量会和闭包函数同时存在

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值