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的更多相关文章
随机推荐
- 【LeetCode】372. Super Pow 解题报告(Python)
作者: 负雪明烛 id: fuxuemingzhu 个人博客: http://fuxuemingzhu.cn/ 题目地址: https://leetcode.com/problems/super-po ...
- Codeforces 888E:Maximum Subsequence(枚举,二分)
You are given an array a consisting of n integers, and additionally an integer m. You have to choose ...
- Laravel 使用 maatwebsite/excel 时长数字出现科学计数法的解决办法
在使用 maatwebsite/excel 包导出Excel的时候,有的单元格里会存放手机号等一大串的数字,这一串数字会被Excel软件处理为科学计数法,在后续处理数据的时候会产生不小的麻烦,一个个去 ...
- FreeSql.Provider.SqliteCore如何加密
FreeSql.Provider.SqliteCore 是FreeSql基于微软提供的最新的Microsoft.Data.Sqlite.Core驱动的实现. 支持的版本 .NETStandard2.0 ...
- [Box] Robust Training and Initialization of Deep Neural Networks: An Adaptive Basis Viewpoint
目录 概 主要内容 LSGD Box 初始化 Box for Resnet 代码 Cyr E C, Gulian M, Patel R G, et al. Robust Training and In ...
- 解决Java保存到数据库中文乱码问题,加useUnicode=true&characterEncoding=UTF-8
Java保存到数据库中文乱码, 解决方法如下: 我们在连接MySQL数据库的时候一般都会在url后面添加useUnicode=true&characterEncoding=UTF-8,但是问什 ...
- MyBatis练习——使用MyBatis查询所有职员信息
实现要求: 使用MyBatis查询所有职员信息 create table employee( id int not null auto_increment, name varchar(255) not ...
- MySQL高级查询与编程笔记 • 【目录】
章节 内容 实践练习 MySQL高级查询与编程作业目录(作业笔记) 第1章 MySQL高级查询与编程笔记 • [第1章 数据库设计原理与实战] 第2章 MySQL高级查询与编程笔记 • [第2章 数据 ...
- Java初学者作业——编写JAVA程序,在控制台中输入六位员工的姓名,通过随机点名方式,输出当选组长的员工姓名。
返回本章节 返回作业目录 需求说明: 编写JAVA程序,在控制台中输入六位员工的姓名,通过随机点名方式,输出当选组长的员工姓名. 实现思路: (1)定义字符串类型的数组names,长度为6,用于存储六 ...
- 开源社区合入patch的步骤
以Ranger项目为例,说明开源社区合入patch的详细步骤. 1.reviews页面下载patch 进入到review页面:https://reviews.apache.org/r/67919/ 点 ...