1.函数名是变量名

  “=”是内存指向,等号赋值操作,内存指向操作

  变量——可赋值,可作为列表元素

  函数名可以作为返回值返回

  函数名可作为参数传递

2.闭包

  内层函数使用了外层函数的变量

  作用:可以让一个变量常驻内存,不被销毁,可以保护变量不被外界修改

  也就是outer()函数里,a=10这个变量永存,不会被外界污染,所以称之为闭包


3.装饰器

  是一种固定语法,不改变函数内部语法逻辑的基础上,给函数加的功能。

  软件设计原则:开闭原则:对功能添加开放,对修改原来函数代码封闭。

  装饰器模板,相当于函数的函数:

  

  调用装饰器1

  

  调用装饰器2

  

  同一函数被多个装饰器一层一层包


4.迭代器

  作用,效果:让一个可迭代对象从里面拿到每个数据。

  在python中,只有可迭代对象能拿到迭代器,int类型不可迭代。

  可以被迭代:在这种类型数据有 __iter__

  

  迭代器:通过__iter__函数得到一个对象

  迭代器是可迭代对象,可迭代对象不一定是迭代器。

  直观效果:有__iter__  是可迭代对象

       有__iter__,__next__是迭代器

  特点:

  1.省内存

  2.惰性机制

  3.只能向前,迭代完对象之后会报错  StopIteration


5.生成器

  本质是迭代器。   (1).生成器函数   yield 和return效果一样,每次next执行到下个yield

          节省内存,把超大数据集,分段处理

  (2)生成器表达式

  

  拿空生成器:1.for 循环   2.生成列表

  在函数写yield,此函数为生成器函数,生成器函数执行创建一个生成器。生成器.__next__(),才执行一次到yield。


  

6.推导式

列表推导式  [结果   for循环  if语句]

字典推导式  {key:value  for循环   if语句}

集合推导式  {key       for循环   if语句}

生成器表达式  (结果  for循环  if语句)


7.lambda 匿名函数

Lambda  参数:返回值


8内置函数

  sorted()排序函数  用特定规则排序

   filter() 筛选函数   用特定规则刷选

   map()映射

      reduce() 和map相反


9.递归

递归就是调用函数自己

最大深度为1000

python编程学习day04的更多相关文章

  1. Python编程学习,高效求解素数程序实例

    素数是编程中经常需要用到的. 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算. #coding:utf-8 #设置python文件的编码为utf-8, ...

  2. Python编程学习第三课之编程从Hello World开始

    在搞定了前几节课的情况下,大家是否有一种想要跃跃欲试的赶脚,接下来就是我们开始练手的实战时刻. 每个编程人员入门编程的第一课都是向我们马上要进入的编程世界问好,"你好,世界"英文说 ...

  3. python编程学习--Pygame - Python游戏编程入门(0)---转载

    原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ...

  4. python开发学习-day04(迭代器、生成器、装饰器、二分查找、正则)

    s12-20160123-day04 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...

  5. Python编程学习爆破一些简单加密的文件

    前言 这里只是分享一下Python如何生成爆破字典,对于简单的一些加密文件,咱们可以跑字典获取正确的密码,比如zip加密文件.这里小编给大家简单的介绍一下爆破字典的方法,希望对大家学习Python有帮 ...

  6. python编程学习路线及笔记

    话不多说,直接上图! 关于人工智能算法学习思路,欢迎浏览我的另一篇随笔:如果你想开始学习算法,不妨先了解人工智能有哪些方向? 之后博主将持续分享各大算法的学习思路和学习笔记:hello world: ...

  7. Python编程学习笔记 随时更新

    import urllib.request import re url = 'http://stock.sohu.com/news/' html = urllib.request.urlopen(ur ...

  8. python编程学习day03

    1.文件操作 (1)打开文件 f = open ("文件名称",mode='' ",encoding="utf-8") mode=操作方式 encod ...

  9. 学习Python编程的11个资源

    用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因 ...

随机推荐

  1. svndumpfilter - 过滤一个 Subversion 仓库的转储文件 `dumpfile'。

    SYNOPSIS 总览 svndumpfilter command [options & args] OVERVIEW 概述 Subversion 是一个版本控制系统,允许保存旧版本的文件和目 ...

  2. 检查目录下 文件的权限-linux shell脚本

    #!/bin/bash #History: #2019/07/23    Fsq #This Program will check Permissions on dir PATH=/bin:/sbin ...

  3. 存储过程分页查询和在ado.net中的使用,返回查询总数

    1.创建查询分页的存储过程 CREATE PROCEDURE PageQuery @tableName VARCHAR(),-- 表名 @strWhere VARCHAR(),-- 查询条件 @col ...

  4. js关闭当前窗口的几种方法

    第一种:不带任何提示关闭窗口的js代码 <a href="javascript:window.opener=null;window.open('','_self');window.cl ...

  5. Kylin-2.6.2集群部署

    1. 集群节点规划与说明 rzx1 all rzx2 query rzx3 query 说明: Kylin节点角色有三种: all: 包含query和job query: 查询节点 job: 工作节点 ...

  6. Vue学习笔记【15】——Vue实例的生命周期

    生命周期与生命周期钩子 什么是生命周期:从Vue实例创建.运行.到销毁期间,总是伴随着各种各样的事件,这些事件,统称为生命周期! 生命周期钩子:就是生命周期事件的别名而已: 生命周期钩子 = 生命周期 ...

  7. C#简单游戏外挂制作(以Warcraft Ⅲ为例)

    网上有很多外挂制作的教程,大多是讲针对大型网络游戏的,主要包含一些抓包.反汇编.C++的知识综合.事实也如此,常见的外挂都是使用VC++写的,从来没有过C#或者其他.NET语言编写的外挂. 作为微软. ...

  8. (转)OpenFire源码学习之二十七:Smack源码解析

    转:http://blog.csdn.net/huwenfeng_2011/article/details/43484199 Smack Smack是一个用于和XMPP服务器通信的类库,由此可以实现即 ...

  9. ACdream 1157 (cdq分治)

    题目链接 Segments Time Limit: 4000/2000MS (Java/Others)Memory Limit: 20000/10000KB (Java/Others) Problem ...

  10. 51nod-1366 贫富差距——并查集

    题目链接:https://www.51nod.com/onlineJudge/questionCode.html#!problemId=1366 #include <iostream> # ...