前言 有一个东西叫做鸭子类型,所谓鸭子类型就是,只要一个东西表现得像鸭子那么就能推出这玩意就是鸭子。 C# 里面其实也暗藏了很多类似鸭子类型的东西,但是很多开发者并不知道,因此也就没法好好利用这些东西,那么今天我细数一下这些藏在编译器中的细节。 不是只有 Task 和 ValueTask 才能 aw ...
在鸭子类型中,关注的不是对象的类型本身,而是他如何使用的。例如,在不适用鸭子类型的语言中,我们可以编写一个函数,它接受一个类型为鸭的对象,并调用它的走和叫方法。在使用鸭子类型的语言中,这样的一个函数可以接受一个任意类型的对象,并调用它的走和叫方法。 class duck(): def walk(se ...
分类:
编程语言 时间:
2020-07-11 23:12:16
阅读次数:
92
对象是包含一组键值对的实例。 值可以是标量、函数、数组、对象等,如下实例:var object_name = { key1: "value1", // 标量 key2: "value", key3: function() { // 函数 }, key4:["content1", "content2"... ...
分类:
其他好文 时间:
2020-06-26 10:55:48
阅读次数:
38
多继承 # 背诵 # 只要继承object类就是新式类 # 不继承object类的都是经典类 # python3 所有的类都继承object类,都是新式类 # 在py2中 不继承object的类都是经典类 # 继承object类的就是新式类了 # 经典类 :在py3中不存在,在py2中不主动继承ob ...
分类:
其他好文 时间:
2020-06-23 13:49:04
阅读次数:
45
其实对我来说鸭子类型一直是一个比较模糊的概念,因为平常不去关注,关注的时候一般是在面试或者被面试的时候,今天在看一篇博客的时候又有看到,所以就索性弄清楚 ``` 首先 与duck typing相对应的是normal typing(对象的类型决定对象的特性) *既然是相对,可以简单理解为 duck t ...
分类:
其他好文 时间:
2020-05-11 18:17:36
阅读次数:
133
https://www.jianshu.com/p/422e1e27a889 鸭子类型”的语言是这么推断的:一只鸟走起来像鸭子、游起泳来像鸭子、叫起来也像鸭子,那它就可以被当做鸭子。也就是说,它不关注对象的类型,而是关注对象具有的行为(方法)。 鸭子类型在python中经常使用到,python属于动 ...
分类:
其他好文 时间:
2020-05-03 18:58:01
阅读次数:
64
前言 有一个东西叫做鸭子类型,所谓鸭子类型就是,只要一个东西表现得像鸭子那么就能推出这玩意就是鸭子。 C 里面其实也暗藏了很多类似鸭子类型的东西,但是很多开发者并不知道,因此也就没法好好利用这些东西,那么今天我细数一下这些藏在编译器中的细节。 不是只有 和 才能 在 C 中编写异步代码的时候,我们经 ...
楔子 你现在是一家游戏公司的开发人员,现在需要你开发一款叫做<人狗大战>的游戏,你就思考呀,人狗作战,那至少需要2个角色,一个是人, 一个是狗,且人和狗都有不同的技能,比如人拿棍打狗, 狗可以咬人,怎么描述这种不同的角色和他们的功能呢? 你搜罗了自己掌握的所有技能,写出了下面的代码来描述这两个角色 ...
分类:
其他好文 时间:
2020-03-28 17:38:31
阅读次数:
81
继承(进阶的知识点) 通过集成来解决代码复用问题 ? 多继承态顺序问题(项目和源码) ? 通过继承实现的类的开发规范(工作中) 多态 python当中处处是多态,一切是对象 什么是多态 借助java 鸭子类型 背诵 python3 所有的类都继承object类 只要继承object 的类就是新式类 ...
分类:
其他好文 时间:
2020-03-13 01:25:09
阅读次数:
59
类和实例 访问限制 如果让内部属性不被外部访问,可以在属性名称前加\_\_,python中,实例的变量如果以\_\_开头,就变成了私有变量 继承和多态 判断某个变量是否是某种类型 动态语言的鸭子类型决定了继承不像静态语言那样是必须的 获取对象信息 使用type(),判断对象类型,返回对应的Class ...
分类:
其他好文 时间:
2020-03-06 11:21:00
阅读次数:
60