python13day
昨日回顾
- 生成器:生成器就是迭代器,生成器是自己用python代码构建的
- 生成器函数
- 生成器表达式
- python内部提供的
- 如何判断函数和生成器函数
- yield
- yield return
- 吃包子的区别。
- yield from将一个可迭代对象,变成一个生成器。
- 列表推导式、生成器表达式。
- 循环模式[变量(加工后的变量)for 变量 initerable]
- 筛选模式[变量(加工后的变量)for 变量 initerable if..]
- 内置函数。
今日内容
如何学习?
- 一定要预习预习
- 分配比例
匿名函数lambda
#匿名函数:一句话函数,比较简单的函数。 #构建普通函数
def func(a,b):
return a+b
#构建匿名函数
lambda a,b:a+b
#关键字 形参:返回值(可赋给一个变量)
- 多复杂都一行
- 一般结合内置函数用
内置函数II
闭包:封闭的东西、保证数据安全。
全局变量万一失误被改变,数据不安全
为了数据安全,不能设定为全局变量
但放在局部,每次又会被清空
方案:闭包
#封闭的东西:保证数据的安全。
def make_averager():
l1=[]
def averager(new_value):
l1.append(new_value)
total=sum(l1)
return total/len(l1)
return averager
avg=make_averager()
print(avg(100000))
print(avg(110000))
print(avg(120000))
print(avg(90000))
闭包只能存在嵌套函数中,内层函数对外层函数非全局变量引用,这个变量被称为自由变量,这个变量会和内层函数产生绑定关系,而且在内存中不会消失
闭包一定有自由变量
#代码判断闭包,有无自由变量
print(avg.__code__.co_freevars) #('l1',)
今日总结
- 匿名函数lambda
- 内置函数II
- 闭包
明日学习
装饰器
代码总行数1887+64=1951行
python13day的更多相关文章
随机推荐
- 1057 - Collecting Gold
1057 - Collecting Gold PDF (English) Statistics Forum Time Limit: 2 second(s) Memory Limit: 32 MB ...
- MySQL 高级内容
MyISAM 和 MEMORY 存储引擎支持表级锁定(table-level locking),InnoDB 存储引擎支持行级锁定(row-level locking),BDB 存储引擎支持页级锁定( ...
- 「双串最长公共子串」SP1811 LCS - Longest Common Substring
知识点: SAM,SA,单调栈,Hash 原题面 Luogu 来自 poj 的双倍经验 简述 给定两字符串 \(S_1, S_2\),求它们的最长公共子串长度. \(|S_1|,|S_2|\le 2. ...
- Ubuntu mininet+Ryu环境安装
我们使用下载Ryu源代码进行那个安装 Ryu官方文档:http://ryu.readthedocs.io/en/latest/ Ryu电子书:http://osrg.github.io/ryu/res ...
- matplotlib 高阶之path tutorial
目录 Bezier example 用path来画柱状图 随便玩玩 import matplotlib.pyplot as plt from matplotlib.path import Path i ...
- uniapp上传图片后台返回url后放入image中图片不显示问题
原因:后台返回路径问题后台返回地址斜杠为 \ 我们需要的是 / 如下后台返回的地址导致转义了 修改后可以显示
- CS5216|DP1.2转HDMI1.4音视频转换芯片|CS5216参数
Capstone CS5216是一款用于DP1.2转HDMI1.4音视频转换芯片.CS5216是HDMI 电平移位器/中继器专为2型双模Display Port(DP++)电缆适配器应用而设计.它设计 ...
- RSA非对称加密算法实现:C#
RSA是1977年由罗纳德·李维斯特(Ron Rivest).阿迪·萨莫尔(Adi Shamir)和伦纳德·阿德曼(Leonard Adleman)一起提出的.当时他们三人都在麻省理工学院工作.RSA ...
- 使用springboot devtools工具实现热部署
一.在maven父工程pom文件中添加依赖 二.在子工程中添加依赖 三.在IDEA中勾选 Build project automatically项 四. Shift+Ctrl+Alt+/,选择Regi ...
- Linux下配置GitHub
一.注册GitHub账号 二.在linux命令行输入 git config --global user.name "YOUR NAME" #配置github账号 git confi ...