一、range()函数

1、range()通常用来做循环。

2、range()生成器的特性。

例子:假如range()中使用的数值特别大,为100000000000000000000000000000?python解释器还能正常工作吗?如果是事先生成100000000000000000000000000000个数,然后依次遍历生成,那么内存肯定溢出。而实际上如此巨大的数值依然不会使程序卡死。

 

 因为range()函数会使用类似于生成器的特性,每次循环会记住上次使用时生成的结果值,然后从断点处继续生成,这样就避免了空间浪费。

 

二、递归的雷区

1、在计算机中,递归都是通过“栈”(stack)这种数据结构来实现的,每当递归加深一层,栈顶就增加一层,每当递归减少一层,栈顶就减少一层。在python当递归深度达到1000层是,会导致栈溢出。

 

三、匿名函数lambda

1、匿名函数实例: lambda  x : x+1。:前面表示传入的参数,后面表示需要执行的代码。无需写返回值。

2、匿名函数也是函数,有自己的命名空间。

 

四、推导式

1、列表推导式。

即用简短的语法来生成一个列表,通常用[]表示。

常规版:

 

 增加过滤条件:

 

 还可以增加多个变量和条件进行筛选。

 

2、字典推导式

即用简短的语法来生成一个字典,通常用{}表示。

 

 

 

 注意:必须药用:来表示key-value

 

3、集合推导式

与字典推导式类似,但是要去掉‘  :’

 

 

注意:没有元组推导式!没有元组推导式!因为()标识符被用作生成器的标识符号了。所以想要创建元组推导式,可以用显式函数tuple()来表示。

 

 posted on 2021-08-22 16:41  佩剑君子  阅读(125)  评论(0编辑  收藏  举报