- 博客(7)
- 资源 (1)
- 收藏
- 关注
原创 FAQ-01
Question 0x01 看看下面的函数会输出什么: In [157]: def f(x, l=[]): ...: for i in range(x): ...: l.append(i*i) ...: print(l) ...: In [158]: f(2) In [159]: f(3,[3,2,1]) In [160]: ...
2018-10-09 09:36:20 220
原创 python中装饰器
看完廖雪峰的python教程中的装饰器部分,对装饰器深有体会了。 装饰器(Decorator),他确实是起装饰作用的,而且是装饰函数的(好像也可以装饰类,不过还没学,见谅),不过不是让函数看起来更加好看的,而是对函数添加一些额外功能的,这也是一种装饰。 先来看一段代码: In [152]: def log(func): ...: def wrapper(*args, **...
2018-10-08 17:26:49 154
原创 python中常见的内置高阶函数
常见的内置高阶函数:map,reduce,filter,sorted 在python3中,reduce已经不算是内置函数了,据说是因为龟叔不喜欢map / reduce这样的内置函数,但是在社区的极力反对下,保留了下来,不过放在了functools包中。 from functools import reduce -- map(func, iterable) map函数接收两个参...
2018-10-07 14:10:52 485
原创 python中的生成器
python中有两种方式产生生成器: 生成器函数: 和普通函数看起来差不多,区别是,生成器函数使用yield返回值,而不是用return 自动实现了迭代器协议,即实现了__next__方法(python3) 生成器函数返回一个生成器对象 yield返回值之后函数没有结束,而是处于中断状态,下次调用直接从上次的状态继续执行,直到产生StopIteration 例子如下: #使...
2018-10-06 22:40:14 140
转载 python中关于迭代器和生成器的名词解释(python3)
迭代器协议:对有__next__方法的对象(迭代器对象)自动调用__next__方法,直到结尾引发stopIteration. 迭代工具:迭代工具按迭代协议处理迭代器 常见的工具有 for, list(), tuple(), str.join(), in map, sorted, zip, enumerate, filter, sum, any iterable可迭代对象:实现了__it...
2018-09-28 19:39:35 255
原创 python中的__call__()方法使用
__call__()是一种magic method,在类中实现这一方法可以使改类的实例(对象)像函数一样被调用。 默认情况下该方法在类中是没有被实现的。使用callable()方法可以判断某对象是否可以被调用。...
2018-09-11 17:08:31 1143
原创 python中*args和**kwargs的用法
args 和 kwargs 不是必须的,* 和 ** 才是必须的 两者都用于对函数进行参数传递,允许传递不定量的参数给函数 1. Overview 如果对各位同学这两个参数知道的很少,那不妨先输出一下,看看他们是什么: def func(*args, **kwargs): print(args) print(kwargs) print("--------...
2018-09-10 22:35:38 2295
空空如也
TA创建的收藏夹 TA关注的收藏夹
TA关注的人