当前位置: 首页 > news >正文

b2b网站推广网站seo方案策划书

b2b网站推广,网站seo方案策划书,生物科技 网站模板下载,国内个人网站建设今天咱们聊聊Python类型标注中的泛型(Generic),与协变(Covariant)。 不了解类型标注的小伙伴,可以先看一看我的上一篇文章 “Python类型检查” Python 类型检查-CSDN博客 例子 这次我开个宠物商店。看下面代码。 class Animal:passclass Dog(Animal):passclass Cat(A…

今天咱们聊聊Python类型标注中的泛型(Generic),与协变(Covariant)。

不了解类型标注的小伙伴,可以先看一看我的上一篇文章 “Python类型检查” Python 类型检查-CSDN博客

例子

这次我开个宠物商店。看下面代码。

class Animal:passclass Dog(Animal):passclass Cat(Animal):pass

首先我们定义了宠物的基类Animal,Dog和Cat都是Animal的子类。

然后是商店类Store

class Store:def __init__(self, stock: List[Animal]) -> None:self.stock = stockdef buy(self) -> Animal:return self.stock.pop()

商店的构造函数会接受一个Animal的列表stock,当作商店的库存。有人买东西时,buy函数就从库存里面拿出一个动物当作返回值。

为了简洁,我这里没有判断stock里面到底还有没有动物,直接就pop了。小伙伴们写代码时请务必不要向我学习。

然后老王宠物店就开张了。我们生成一个Store的实例叫wang。调用buy方法卖东西。

wang = Store([Dog(), Cat()])
print(wang.buy())

来运行一下程序和类型检查器mypy。

$ mypy covar.py
Success: no issues found in 1 source file

太好了,没有错误。

泛型

这时,假如老王我对猫过敏,所以决定从今以后宠物店里只卖狗了。要怎么办呢?

最直接的办法是改Store的类型标注,把构造函数里的List[Animal]改成List[Dog]。buy的返回值也改成Dog。

class Store:def __init__(self, stock: List[Dog]) -> None:self.stock = stockdef buy(self) -> Dog:return self.stock.pop()

结果刚改好,对门儿宠物店的老李头骂着街就过来了。因为他家的猫没法卖了。那到底怎么办呢?泛型就可以解决这个问题。

“Python类型检查” 中我们聊的List,Sequence都是泛型。比如我写

a: List
http://www.dinnco.com/news/71467.html

相关文章:

  • 做网站之前要怎样准备图片百度引流怎么推广
  • 房地产网站推荐优化推广公司哪家好
  • 赤峰做网站的网络公司软文宣传推广
  • 网站开发如何入门实时疫情最新消息数据
  • 广州网站百度排名推广网站推广计划方案
  • intitle 郑州网站建设网站排名优化外包公司
  • 宁津华企动力做网站的电话多少友情链接查询
  • 北京网站设计与建设windows优化大师会员
  • 河南做网站 河南网站建设办理培训机构需要具备的条件
  • 求购信息网站做个网页价格多少
  • 做自媒体的上那些网站网站下载免费软件
  • 福州网站推广网站关键词优化方法
  • 大学生网站设计作品成品代码手机端百度收录入口
  • 有哪些可以在线做app的网站微博推广方案
  • 网站规划设计免费刷seo
  • 百度网站诊断百度网盘在线登录入口
  • 网站推广需求seo零基础培训
  • windows8风格网站模板平台seo什么意思
  • 做暧昧视频网站网站结构优化
  • 德清网站建设中心google seo怎么做
  • 网页素材及网站架构制作信息流广告推广
  • 外贸网站源代码营销方式和营销策略
  • 帮忙做简历的网站男生短期培训就业
  • 北京网站建站推广百度帐号登录
  • 汝南网站建设拉新推广怎么快速拉人
  • 口碑好网站建设公司百度视频推广
  • 泰安手机网站建设网络营销专业代码
  • wordpress和gxblog的区别seo常规优化
  • 贸易网站建设案例北京优化靠谱的公司
  • 网站的建设与维护数据分析师要学什么