闭包函数

def outer():
var = 100
def inner():
nonlocal var
var += 200
print(var)
return inner res = outer()
res() # 300

lambda表达式

res = lambda x,y:x+y
print(res(1,2)) #3
res = lambda sex:'男' if sex == 'male' else '女'
print(res('female')) # 女

迭代器

可迭代对象:str,list,dict,tuple,set,range()

迭代器取值特点:取出一个少一个,直到取完,再取就报错

迭代器取值方式:

1、next():一次取一个数据

2、list():取出所有数据

3、for循环

var = [1,2]
res = iter(var)
#print(res,type(res)) # <list_iterator object> <class 'list_iterator'>
print(next(res)) # 1
print(next(res)) # 2
#print(next(res)) # StopIteration
print(list(res)) # []

检测可迭代对象和迭代器

from collections.abc import Iterable,Iterator
var = '1234'
res = iter(var)
r1 = isinstance(var,Iterable) # 检测是否是可迭代对象
r2 = isinstance(var,Iterator) # 检测是否是迭代器
r3 = isinstance(res,Iterable)
r4 = isinstance(res,Iterator)
print(r1,r2) # True False
print(r3,r4) # True True

zip函数

var1 ='1234'
var2 =['a','b','c','d']
print(zip(var1,var2)) # <zip object at 0x0000027E3422F0C8>
print(*zip(var1,var2)) # ('1', 'a') ('2', 'b') ('3', 'c') ('4', 'd')
print(list(zip(var1,var2))) # [('1', 'a'), ('2', 'b'), ('3', 'c'), ('4', 'd')]
x,y = zip(*zip(var1,var2))
print(x,y) # ('1', '2', '3', '4') ('a', 'b', 'c', 'd')

ascii码

print(ord('a')) # 97
print(chr(97)) # a

sorted()函数

def fun(num):
return abs(num)
varlist = [4,2,8,-3]
print(sorted(varlist)) # [-3, 2, 4, 8]
print(sorted(varlist,reverse=True)) # [8, 4, 2, -3]
print(sorted(varlist,key=abs)) # [2, -3, 4, 8]
print(sorted(varlist,key=fun)) # [2, -3, 4, 8]
print(sorted(varlist,key=lambda x:abs(x))) # [2, -3, 4, 8]

map()函数

varlist = [1,2,3,4]
res = map(lambda x:x**2,varlist)
print(list(res)) # [1, 4, 9, 16]

reduce()函数

from functools import reduce
varlist = [5,2,1,1]
res = reduce(lambda x,y:x*10+y,varlist)
print(res) #5211

filter()函数

varlist = [1,2,3,4,5,6,7,8]
res = filter(lambda x:True if x % 2 == 0 else False,varlist)
print(list(res)) # [2, 4, 6, 8]

python学习记录(二)-特殊函数的更多相关文章

  1. Python学习记录day6

    title: Python学习记录day6 tags: python author: Chinge Yang date: 2016-12-03 --- Python学习记录day6 @(学习)[pyt ...

  2. Python学习记录:括号配对检测问题

    Python学习记录:括号配对检测问题 一.问题描述 在练习Python程序题的时候,我遇到了括号配对检测问题. 问题描述:提示用户输入一行字符串,其中可能包括小括号 (),请检查小括号是否配对正确, ...

  3. Python学习记录day5

    title: Python学习记录day5 tags: python author: Chinge Yang date: 2016-11-26 --- 1.多层装饰器 多层装饰器的原理是,装饰器装饰函 ...

  4. Material Calendar View 学习记录(二)

    Material Calendar View 学习记录(二) github link: material-calendarview; 在学习记录一中简单翻译了该开源项目的README.md文档.接下来 ...

  5. Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客

    ==他的博客应该不错,没有细看 Spring Boot学习记录(二)--thymeleaf模板 - CSDN博客 http://blog.csdn.net/u012706811/article/det ...

  6. Python学习记录day8

    目录 Python学习记录day8 1. 静态方法 2. 类方法 3. 属性方法 4. 类的特殊成员方法 4.1 __doc__表示类的描述信息 4.2 __module__ 和 __class__ ...

  7. Python学习记录day7

    目录 Python学习记录day7 1. 面向过程 VS 面向对象 编程范式 2. 面向对象特性 3. 类的定义.构造函数和公有属性 4. 类的析构函数 5. 类的继承 6. 经典类vs新式类 7. ...

  8. JavaScript学习记录二

    title: JavaScript学习记录二 toc: true date: 2018-09-13 10:14:53 --<JavaScript高级程序设计(第2版)>学习笔记 要多查阅M ...

  9. 2.VUE前端框架学习记录二

    VUE前端框架学习记录二:Vue核心基础2(完结)文字信息没办法描述清楚,主要看编码实战里面,有附带有一个完整可用的Html页面,有需要的同学到脑图里面自取.脑图地址http://naotu.baid ...

  10. python学习笔记(二)、字符串操作

    该一系列python学习笔记都是根据<Python基础教程(第3版)>内容所记录整理的 1.字符串基本操作 所有标准序列操作(索引.切片.乘法.成员资格检查.长度.最小值和最大值)都适用于 ...

随机推荐

  1. Java设计模式之策略模式(13)

    策略模式定义了一系列算法,每个算法封装起来,他们可以相互替换,且算法的变化不会影响到使用算法的客户.可以设计一个抽象类提供辅助. package WHP; public interface ICalc ...

  2. ICPC2020上海B - Mine Sweeper II

    思维 [B-Mine Sweeper II_第 45 届国际大学生程序设计竞赛(ICPC)亚洲区域赛(上海)(重现赛)@hzy0227 (nowcoder.com)](https://codeforc ...

  3. Android-AccessibilityService

    概述 AccessibilityService用于提供辅助功能服务,其在后台运行,并在触发AccessibilityEvents时由系统接收回调.此类事件表示用户界面中的某些状态转换,例如,焦点更改, ...

  4. Docker--结合 Jenkins + Gitlab 完成自动化测试的持续集成实战

    本文转自:https://www.cnblogs.com/poloyy/p/13971134.html 进入 Jenkins 任务的配置页面 源码管理 构建触发器 为了安全起见生成一个 token 值 ...

  5. host头攻击

    一.问题源起 HTTP1.1规范中在增加了HOST头信息,用于存储服务端与客户端的路由信息. 例如: Request的Header里就有一个标名请求,它是用来记录服务端网站域名的. 如果前端或者后台正 ...

  6. Apache Geronimo默认管理密码

    网络空间资产搜索: FoFa 弱口令:system/manager 登陆成功! End!!!

  7. flume 拦截器

    目的:功能1:判断json文件,如何格式合格则正常传输,否则就不传输 功能2:判断出合格的json文件,并且key值中包含"date"才进行传输 一.创建一个Json的工具类 pa ...

  8. python机器学习——BP(反向传播)神经网络算法

    背景与原理: BP神经网络通常指基于误差反向传播算法的多层神经网络,BP算法由信号的前向传播和反向传播两个过程组成,在前向传播的过程中,输入从输入层进入网络,经过隐含层逐层传递到达输出层输出,如果输出 ...

  9. python机器学习——决策树算法

    背景与原理: 决策树算法是在各种已知情况发生概率的基础上通过构成决策树来求某一事件发生概率的算法,由于这个过程画成图解之后很像一棵树形结构,因此我们把这个算法称为决策树. 而在机器学习中,决策树是一种 ...

  10. Vue双向绑定原理 从vue2的Object.defineProperty到vue3的proxy

    在网上查找资料的时候,看到很多关于Vue双向绑定的文章都直接说是通过Object.defineProperty实现的,但我隐约记得去年看过尤大的视频,记得好像是用proxy实现的,所以又好好找了一下, ...