python编程学习day04
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的更多相关文章
- Python编程学习,高效求解素数程序实例
素数是编程中经常需要用到的. 作为学习Python的示例,下面是一个高效求解一个范围内的素数的程序,不需要使用除法或者求模运算. #coding:utf-8 #设置python文件的编码为utf-8, ...
- Python编程学习第三课之编程从Hello World开始
在搞定了前几节课的情况下,大家是否有一种想要跃跃欲试的赶脚,接下来就是我们开始练手的实战时刻. 每个编程人员入门编程的第一课都是向我们马上要进入的编程世界问好,"你好,世界"英文说 ...
- python编程学习--Pygame - Python游戏编程入门(0)---转载
原文地址:https://www.cnblogs.com/wuzhanpeng/p/4261015.html 引言 博客刚开,想把最近学习的东西记录下来,算是一种笔记.最近打算开始学习Python,因 ...
- python开发学习-day04(迭代器、生成器、装饰器、二分查找、正则)
s12-20160123-day04 *:first-child { margin-top: 0 !important; } body>*:last-child { margin-bottom: ...
- Python编程学习爆破一些简单加密的文件
前言 这里只是分享一下Python如何生成爆破字典,对于简单的一些加密文件,咱们可以跑字典获取正确的密码,比如zip加密文件.这里小编给大家简单的介绍一下爆破字典的方法,希望对大家学习Python有帮 ...
- python编程学习路线及笔记
话不多说,直接上图! 关于人工智能算法学习思路,欢迎浏览我的另一篇随笔:如果你想开始学习算法,不妨先了解人工智能有哪些方向? 之后博主将持续分享各大算法的学习思路和学习笔记:hello world: ...
- Python编程学习笔记 随时更新
import urllib.request import re url = 'http://stock.sohu.com/news/' html = urllib.request.urlopen(ur ...
- python编程学习day03
1.文件操作 (1)打开文件 f = open ("文件名称",mode='' ",encoding="utf-8") mode=操作方式 encod ...
- 学习Python编程的11个资源
用 Python 写代码并不难,事实上,它一直以来都是被声称为最容易学习的编程语言.如果你正打算学习 web 开发,Python 是一个不错的选择,甚至你想学游戏开发也可 以从 Python 开始,因 ...
随机推荐
- Python大小写转换
大小写转换 name = "xiao ming" name = name.upper() # 转为大写 print(name) name = name.lower() # 转为小写 ...
- 删除DataFrame中特定条件的行/列
在<Python进行数据分析与挖掘实战>一书中,第10章 删除热水器不工作的数据(水流量为0并且开关机状态为“关”的数据.) import pandas as pd data=pd.rea ...
- ZOJ3531: [SDOI2014] 旅行
Description S国有N个城市,编号从1到N.城市间用N-1条双向道路连接,满足从一个城市出发可以到达其它所有城市.每个城市信仰不同的宗教,如飞天面条神教.隐形独角兽教.绝地教都是常见的信仰. ...
- spring framework三个版本的下载包区别
docs:该文件夹下包含Spring的相关文档.开发指南及API参考文档:dist:该文件夹下包含Spring jar包.文档.项目等内容:schema:里面包含了Spring4所用到的xsd文件:
- 循环神经网络(Recurrent Neural Network)
传统的神经网络模型,隐藏层的节点之间是无连接的,如下图所示. 而循环神经网络隐藏层的节点之间有连接,主要用于对序列数据进行分类.预测等处理.有连接意味着需要接受信息,这种网络通常用来对序列数据进行处理 ...
- Spring Boot 集成Mybatis实现多数据源
静态的方式 我们以两套配置方式为例,在项目中有两套配置文件,两套mapper,两套SqlSessionFactory,各自处理各自的业务,这个两套mapper都可以进行增删改查的操作,在这两个主MYS ...
- Jenkins使用admin修改安全矩阵的时候报错“admin没有Overall/Read权限”
1.注册完Jenkins,然后使用admin用户登录,报错“admin没有Overall/Read权限”: 2.因为我自己的Jenkins是放在tomcat/webapps的目录下的,所以Jenkin ...
- luoguP2148 [SDOI2009]E&D [sg函数][组合游戏]
题目描述 小E 与小W 进行一项名为“E&D”游戏. 游戏的规则如下: 桌子上有2n 堆石子,编号为1..2n.其中,为了方便起见,我们将第2k-1 堆与第2k 堆 (1 ≤ k ≤ n)视为 ...
- react react使用css
在react 中使用css有以下几种方法 第一种全局使用 app.js import React from 'react'; import Router from "./router&quo ...
- Transactional事务管理操作
Transactional的属性: alue String 可选的限定描述符,指定使用的事务管理器 propagation enum: Propagation 可选的事务传播行为设置 isolatio ...