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. 【代码健壮性】善用data-属性来关联,慎用parent()之类的查找结构

    $(".minus,target").unbind().click(function(){ console.log(this); var $thisParent = $(this) ...

  2. SNAT 和 DNAT

    SNAT是原地址转换,DNAT是目标地址转换. SNAT 内部地址要访问公网上的服务时,内部地址会主动发起连接,将内部地址转换成公有ip.网关这个地址转换称为SNAT 企业内部的主机A想访问互联网上的 ...

  3. spring boot 项目的创建

    一. 进入https://start.spring.io 快速创建项目 二. 利用eclipse sts插件创建项目 1. 安装sts插件 进入https://spring.io/tools3/sts ...

  4. SqlServer 将表里面的值赋给变量

    @@c_beiz varchar(500) select top 1 @c_beiz = c_beiz from g_billd_qh_tmp where u_id=''+@uid+'' and io ...

  5. Java自定义注解Annotation的使用

    从 jdk5开始,Java增加了对元数据的支持,也就是Annotation,Annotation其实就是对代码的一种特殊标记,这些标记可以在编译,类加载和运行时被读取,并执行相应的处理.当然刚刚说了, ...

  6. php操作redis--字符串篇

    前提:已经安装好了redis和相关拓展 常用函数:set/get/decr/incr等 应用场景:普遍的key/value存储类型 连接: $redis = new Redis(); $redis-& ...

  7. leetcood学习笔记-13

    错误记录 class Solution: def romanToInt(self, s: str) -> int: d = {'I':1,'V':5,'X':10,'L':50,'C':100, ...

  8. USB之Main item, Local item和Global item 的作用范围与归类

    https://doc.micrium.com/display/OSUM50300/USB+Device+HID+Class+Overview report descriptor –> item ...

  9. 使用raise语句抛出异常

    #_author:来童星#date:2019/12/18def division(): num1=int(input('请输入被除数:')) num2=int(input('请输入除数:')) if ...

  10. Shiro学习(21)授予身份及切换身份

    在一些场景中,比如某个领导因为一些原因不能进行登录网站进行一些操作,他想把他网站上的工作委托给他的秘书,但是他不想把帐号/密码告诉他秘书,只是想把工作委托给他:此时和我们可以使用Shiro的RunAs ...