python高级
恋物语战场原
这个作者很懒,什么都没留下…
展开
-
Python迭代器与生成器
Python迭代器与生成器迭代器(Iterator)定义可以被next()函数调用并不断返回下一个值的对象称为迭代器:Iterator,也就是说迭代器具有__next__()方法个人理解只要能使用next函数就是迭代器,所以生成器也是迭代器(其中的一种 比如正方形也是矩形)特点迭代器是消耗的,用过之后无法再使用(下面的例子可以看出第二遍循环时没有打印了)emp = iter...原创 2019-03-14 18:04:06 · 133 阅读 · 0 评论 -
*args and **kwargs
定义*args and **kwargs 也是一种参数普通参数,即在调用函数时必须按照准确的顺序来进行参数传递。默认参数,即参数含有默认值,在调用函数时可以进行参数传递,若没有进行参数传递则使用默认值,要注意,默认参数必须在普通参数的右侧(否则解释器无法解析)。元组参数,即 *args,参数格式化存储在一个元组中,长度没有限制,必须位于普通参数和默认参数之后。字典参数,即 **kwar...原创 2019-03-14 20:02:07 · 149 阅读 · 0 评论 -
返回函数
返回函数简单的说就是返回值是一个函数返回的是函数,调用返回的函数的时候才会返回结果def returnsum(a,b): def sum(): return a+b return sum # 这里将sum函数返回test = returnsum(1,2)print(test)print(test())<function returnsum.&...原创 2019-03-14 20:04:20 · 2538 阅读 · 2 评论 -
匿名函数lambda & 偏函数
tags: [lambda, 匿名函数, 偏函数, python]匿名函数lambda定义lambda arg1,arg2,…argn:expression冒号:之前的arg1,arg2,…argn表示它们是这个函数的参数匿名函数不需要return来返回值,表达式本身结果就是返回值def build(x, y): return lambda: x * x + y * yt...原创 2019-03-14 20:16:33 · 309 阅读 · 0 评论 -
python鸭子类型与协议理解
鸭子类型定义在维基百科中的准确定义是‘是动态类型的一种风格。在这种风格中,一个对象有效的语义,不是由继承自特定的类或实现特定的接口,而是由"当前方法和属性的集合"决定’个人理解:实现了指定的方法就可以拿来当特定的类型用 , 比如__getitem__就可以当做collection用 , 来切片索引与静态类型来对比(比如java):多态,你可以用父类的引用而传入子类的对象,而鸭子类型不用继承...原创 2019-03-14 20:20:08 · 290 阅读 · 0 评论 -
装饰器(Decorator)
定义Java有一个装饰器设计模式主要就是动态地给一个对象添加一些额外的职责python也是这样,但python中函数可以作为参数传递,也可以返回函数(闭包)例子一个最简单的装饰器# 一个简单事例def test01(func): def wraps(): print('my first decorator!') return func() ...原创 2019-03-20 23:37:49 · 903 阅读 · 0 评论