python离不开的技巧

  • A+
所属分类:python基础入门

1.鸭子类型(duck typing)

首先Python不支持多态,也不用支持多态,python是一种多态语言,崇尚鸭子类型。以下是维基百科中对鸭子类型得论述:

在程序设计中,鸭子类型(英语:duck typing)是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由当前方法和属性的集合决定。这个概念的名字来源于由James Whitcomb Riley提出的鸭子测试,“鸭子测试”可以这样表述:

“当看到一只鸟走起来像鸭子、游泳起来像鸭子、叫起来也像鸭子,那么这只鸟就可以被称为鸭子。”

在鸭子类型中,关注的不是对象的类型本身,而是它是如何使用的。

python离不开的技巧

就用Python

2.三目操作符

python离不开的技巧

3、内建函数和lamda

需求:将一个字符串列表中所有满足包含“result"字段的字符串筛选出来。

4、iterator和generator

generator返回不用return,而用yield。

5、bind

bind应用的场景:你写一个好多参数的函数,先bind一个参数,变成函数A,然后换种方式bind,又变成了函数B。

介绍一个库是functools,这里只介绍跟bind相似的partial方法。

6、修饰器

1)decorator

python离不开的技巧

包含内置方法:

1. python有三个内置函数,__set__、__get__、__delete__;

2. 只定义__get__方法,非数据描述器(non-data descriptor);

3. 定义了__delete__ 或者 __set__ 方法的叫做数据描述器(data descriptor);

1. python自动属性 (python自动生成的属性,比如__doc__等)

2. 在类(及其祖先类)的__dict__中查找data descriptor,如果存在,返回data descriptor中__get__方法调用的结果

3. 在对象的__dict__中查找

4. 在类(及其祖先类)的__dict__中查找non-data descriptor,存在则返回对应__get__调用的结果

5. 在类(及其祖先类)的__dict__中查找普通属性

这样,在原来的属性查找顺序上,我们加上了non-data descriptor和data descriptor,分别插在2、4的位置上。

python离不开的技巧

加油努力

weinxin
我的微信公众号
爱真理,得永生!          爱在灵灵久博客,网罗天下,福利大家!

发表评论

:?: :razz: :sad: :evil: :!: :smile: :oops: :grin: :eek: :shock: :???: :cool: :lol: :mad: :twisted: :roll: :wink: :idea: :arrow: :neutral: :cry: :mrgreen: