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

行业协会网站建设的方案做网站电商

行业协会网站建设的方案,做网站电商,网站未备案什么意思,网站架设工具Python 是动态类型语言, 只在运行时做 Duck Typing 检查.利: 灵活, 方便弊: 代码混乱, 缺少规范标准自带两类接口支持: abc 和 typing.Protocol, 有他们协助给天马行空的程序员套上枷锁, Python 的大工程才可以上道abcabc 就是 Abstract Base Class, 虚基类. 跟 Ja…Python 是动态类型语言, 只在运行时做 Duck Typing 检查.利: 灵活, 方便弊: 代码混乱, 缺少规范标准自带两类接口支持: abc 和 typing.Protocol, 有他们协助给天马行空的程序员套上枷锁, Python 的大工程才可以上道abcabc 就是 Abstract Base Class, 虚基类. 跟 Java, C 中的虚基类是一个意思, 可以对派生类提供实例化时的动态检查, 确保虚拟接口 (abstractmethod) 都有实现import abcclass Base(abc.ABC): abstractmethod def foo(self, s: str): abc interface demo class Invalid(Base): pass class Child(Base): def foo(self): pass c Child()assert isinstance(c, Base)# TypeError: Cant instantiate abstract class Invalid with abstract methods fooi Invalid()也提供了非侵入式的虚基类关联方法from abc import ABCclass MyABC(ABC): passMyABC.register(tuple)assert issubclass(tuple, MyABC)assert isinstance((), MyABC)检查时机: 在运行中当派生类实例化时检查范围: 只确保 abstractmethod 是否在派生类中有相同函数名实现, 并不检查实现的参数和返回值是否相同. 只看名字不比签名代码影响: 侵入式, 需要继承. 也有手工非侵入式方案typing.Protocolstructure subtyping (static duck-typing)import typingclass Countable(typing.Protocol): def count(self, who: str) - int: support count class Counter: def count(self, who: str) - int: return 0 c Counter()def f(c: Countable): c.count(bill)检查时机: 静态类型检查接口使用方, 例如 mypy检查范围: 确保实现类按照签名实现了接口的全部函数代码影响: 非侵入式, 不需要继承比较abc 类似 c 中的虚基类, typing.Protocol 则好比 c 中的 concept.当然, Python 是动态语言, 在 typing.runtime_checkable 和 abc.abstractmethod 加成后, typing.Protocol 动静两相宜import typingtyping.runtime_checkableclass Countable(typing.Protocol): abc.abstractmethod def count(self, who: str) - int: support count class Counter: def count(self, who: str) - int: return 0 assert issubclass(Counter, Countable)c Counter()assert isinstance(c, Countable)def f(c: Countable): assert isinstance(c, Countable) print(c.count(bill)) f(c)class InvalidCounter(Countable): def c(self): pass # TypeError: Cant instantiate abstract class InvalidCounter with abstract methods counti InvalidCounter()上面这个终极解决方案兼有两者的优点:静态类型检查时会确保是否在派生类中有相同签名的实现动态运行时, 会检查是否同名函数存在代码影响: 自动非侵入式, 不需要继承, 也无需手工注册
http://www.pierceye.com/news/871507/

相关文章:

  • 旅游地网站制作有没有做网站的高手
  • 有什么网站可以做一起作业什么网站可以兼职做效果图
  • 工程中标查询网站长沙网站制作作
  • 免费网站下载直播软件企业品牌网站建设类型
  • 建立网站并以此为基础从事经营活动的企业称为什么免费销售网站模板
  • 成都市建设质监站网站微信企业网站html5模板
  • 福建工程建设管理中心网站仙桃做企业网站的
  • 孝感做网站的公司建网站是永久的吗
  • 厦门手机建站php网站开发推荐书籍
  • 属于c2c网站的有哪几个方庄网站制作
  • 建设局网站模板iis 网站没有上传权限
  • 建设网站龙华怎么用自己的电脑搭建网站
  • 分析网站的网站福建交科建设有限公司官方网站
  • 深圳南园网站建设网站域名怎么设置方法
  • 网站的内链是什么意思网页布局有哪几种方法
  • 网站优化公司上海山东电力建设河北分公司网站
  • 甘肃省住房和城乡建设部网站首页专门网页制作工具有
  • 网站用vps做dns做网站的叫什么职位
  • 网站开发业务流程图网站商城与网站区别吗
  • 用新浪微博做网站百度找不到 网站
  • 哪个网站做照片书最好seo投放是什么意思
  • 书店网站开发目的和意义深圳网建公司
  • 餐饮网站方案wordpress 微论坛主题
  • 上海建筑网站设计多用户商城数据库设计
  • 网站做301将重定向到新域名深圳seo优化外包公司
  • 做视频导航网站有哪些天津西青区离哪个火车站近
  • 福州网站建设技术支持公司培训课程有哪些
  • 保定网站制作域名注册商查询
  • 医院网站建设公司价格低天津建设工程信息网 塘沽一中
  • 建设机械网站案例建国外网站需要多少钱