一.装饰器 一.装饰器的知识储备 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数传给另外一个函数 2.一个函数的返回值,也可以是一个函数(…
一.装饰器 一.装饰器的知识储备 不想修改函数的调用方式,但是还想在原来的函数前后添加功能 1.可变长参数  :*args和**kwargs def index(name,age): print(name,age) def wrapper(*args,**kwargs): #即args=(1,2,3,4,5),kwargs={'x':1,'y':3} index(*args,**kwargs) #index(1,2,3,4,5,y=2,x=5) 2.函数对象:被当做数据传递 1.函数可以当做参数…
Babel默认只转换新的JavaScript句法(syntax),而不转换新的API,比如Iterator.Generator.Set.Maps.Proxy.Reflect.Symbol.Promise等全局对象,以及一些定义在全局对象上的方法(比如Object.assign)都不会转码. 举例来说,ES6在Array对象上新增了Array.from方法.Babel就不会转码这个方法.如果想让这个方法运行,必须使用babel-polyfill,为当前环境提供一个垫片. 安装命令如下. $ npm…
JS异步编程 (2) - Promise.Generator.async/await 上篇文章我们讲了下JS异步编程的相关知识,比如什么是异步,为什么要使用异步编程以及在浏览器中JS如何实现异步的.最后我们捎带讲了几种JS异步编程模式(回调,事件和发布/订阅模式),这篇我们继续去深入了解下其他的几种异步编程模式. Promise Promise是ES6推出的一种异步编程的解决方案.其实在ES6之前,很多异步的工具库就已经实现了各种类似的解决方案,而ES6将其写进了语言标准,统一了用法.Promi…
最近在写RN相关的东西,其中涉及到了redux-saga ,saga的实现原理就是ES6中的Generator函数,而Generator函数又和迭代器有着密不可分的关系.所以本篇博客先学习总结了iterator相关的东西,然后又介绍了Generator相关的内容,最后介绍了使用Generator进行异步编程.本篇博客所涉及的示例使用TypeScript语言编写,当然所涉及的特性是基于ES6规范的,使用TS语言不影响来阐述和总结ES6的相关特性.下篇博客准备系统梳理一下saga相关的内容. 一.迭…
1.counter 2.闭包 3.generator 4.解数学方程 5.异常 1.python库——counter from collections import Counter breakfast=['spam','spam','eggs','spam'] breakfast_counter=Counter(breakfast) breakfast_counter #Counter({'eggs': 1, 'spam': 3}) #函数 most_common() 以降序返回所有元素,或者如…
一.变量: Python支持多种数据类型,在计算机内部,可以把任何数据都看成一个“对象”,而变量就是在程序中用来指向这些数据对象的,对变量赋值就是把数据和变量给关联起来. 对变量赋值x = y是把变量x指向真正的对象,该对象是变量y所指向的.随后对变量y的赋值不影响变量x的指向.这里与C++差别很大,对一个变量赋值,是在改变它的的指向,而不是改变它所指向的对象的值. 注意:Python的整数没有大小限制,而某些语言的整数根据其存储长度是有大小限制的,例如Java对32位整数的范围限制在-2147…
今天帅气的易哥和大家分享的是Pyton的高级特性,希望大家能和我一起学习这门语言的魅力. Python高级特性之:List Comprehensions.Generator.Dictionary and set comprehension(su013171165) 我们在需要循环处理数据的时候,往往都会用range(n)这个方法生成list但是如果需要生成奇数list或者其他list怎么办呢?这就是我今天要讲的List Comprehensions. 一.List Comprehensions(…
我们知道JavaScript是单线程语言,如果没有异步编程非得卡死. 以前,异步编程的方法有下面四种 回调函数 事件监听 发布/订阅 Promise对象 现在据说异步编程终极解决方案是——async/await 发展史: 本人最先接触Promise是Jquery的Deferred对象,然后就出现了bluebird这类实现Promise A+规范的库,在后来就是ES6对他的原生实现,以及对Generator的加入,再后来async/await又出现了. 一.回调函数 所谓回调函数(callback…
1. 列表生成器:代码例子 a=[i*2 for i in range(10)] print(a) 运行效果如下: D:\python35\python.exe D:/python培训/s14/day4/列表生成式.py [0, 2, 4, 6, 8, 10, 12, 14, 16, 18] Process finished with exit code 0 2.高阶函数 变量可以指向函数,函数的参数能接受变量,即把一个函数名当做实参传给另外一个函数 返回值中包涵函数名 代码例子: 1 def…