匿名函数 lamba lambda x,y,z=1:x+y+z 匿名就是没有名字 def func(x,y,z=1): return x+y+z 匿名 lambda x,y,z=1:x+y+z #与函数有相同的作用域,但是匿名意味着引用计数为0,使用一次就释放,除非让其有名字 func=lambda x,y,z=1:x+y+z func(1,2,3) #让其有名字就没有意义 map函数 map返回的是一次性迭代器 map()函数是python内置的高阶函数,对传入的list的每一个元素进行映射,…
python学习8—函数之高阶函数与内置函数 1. 高阶函数 a. map()函数 对第二个输入的参数进行第一个输入的参数指定的操作.map()函数的返回值是一个迭代器,只可以迭代一次,迭代过后会被释放. # self define a function def map_xuan(func,array): temp = [] for i in array: tem = func(i) temp.append(tem) return temp num_1 = [1,2,5,6,9] print(m…
目录: 编码的补充 文件操作 集合 函数的参数 函数的递归 匿名函数与高阶函数 二分查找示例 一.编码的补充: 在python程序中,首行一般为:#-*- coding:utf-8 -*-,就是告诉python解释器使用的字符编码类型来解释以下代码: 查看python默认的字编码命令: >>> import sys >>> sys.getdefaultencoding() 'utf-8' 编码的转码: 不同国家的字符编码进行正常显示,先将机的字符编码转成unicode,…
一.函数的定义与调用 函数:组织好的.可重复使用的.用户实现单一或者关联功能的代码段.函数能够提高应用的模块性和代码的重复利用率.Python提供了很多内置的函数,比如len等等,另外也可以根据自己的业务需求进行用户自定义函数的创建. 函数的定义规则 函数代码块以 def 关键词开头,后接函数标识符名称和圆括号(). 任何传入参数和自变量必须放在圆括号中间. 函数的第一行语句可以选择性地使用文档字符串---用于存放函数说明. 函数内容以冒号起始,并且缩进. 定义一个函数 def 函数名([参数列…
定义: 变量可以指向函数,函数的参数能接收变量,那么,一个函数可以接收另一个函数作为参数,这种函数就称之为高阶函数. 简单说就是:把函数当作参数传递的函数就是高阶函数 特性 1.把一个函数名当作实参传递给另一个函数,在不修改被装饰函数源代码的情况下为其添加功能 2.返回值中包含函数名,不改变函数调用方式 实例1: # abs 内置取绝对值函数 def add(a,b,f): return f(a) + f(b) #a的绝对值+b的绝对值 print(add(1,-2,abs)) # 取3,-6的…
高阶函数 什么是高阶函数 高阶函数就是能够把函数当成参数传递的函数就是高阶函数,换句话说如果一个函数的参数是函数,那么这个函数就是一个高阶函数. 高阶函数可以是你使用def关键字自定义的函数,也有Python系统自带的内置高阶函数. 自定义一个高阶函数 我们下面的例子中,函数 senior 的参数中有一个是函数,那么senior就是一个高阶函数:函数 tenfold 的参数不是函数,所以tenfold就只是一个普通的函数. # 定义高阶函数 def senior(func, container)…
1.定义匿名或内联函数 如果我们想提供一个短小的回调函数供sort()这样的函数用,但不想用def这样的语句编写一个单行的函数,我们可以借助lambda表达式来编写"内联"式的函数.如下图所示: add = lambda x, y: x + y print(add(2, 3)) # 5 print(add("hello", "world!")) # helloworld 可以看到,这里用到的lambda表达式和普通的函数定义有着相同的功能. la…
一.高阶函数 函数实际上也是一个对象,所以也能由变量指向一个函数对象,实际上函数名就是一个变量名.那么函数是传入变量作为参数的,如果传入的变量指向的是函数对象,这种函数就叫高阶函数. 高阶函数就是传入函数作为参数的函数. 下面先介绍两种高阶函数: (1)map() map函数接受两个参数,一个函数,一个iterable.map将传入的函数依此作用到iterable的每个元素,并将结果作为新的iterable返回.所以map传入的函数必须是只能接受一个参数的. 示例: (2)reduce() re…
前言 木子本人搞起Python已有多年,一直觉得什么都会,但是有时候实操起来,才觉得很多底层基础的知识都没有彻底的灵活掌握. 另外,网上关于Python基础知识的各种普及已有太多太多. 附上相关大神的技术栈: Python3官方文档 Python3菜鸟教程 Python3廖雪峰的网站 本人的写作水平有限,肯定比不上各种大佬的技术文章.博客只是对于自身知识的总结,提炼,当然如果能够帮助到各位看客,木子本人也非常高兴. 简述 闲话不多说,本篇博客,主要针对Python的 匿名函数 lambda 高阶…
一.递归 在函数内部,可以调用其他函数.如果一个函数在内部调用自身本身,这个函数就是递归函数. 递归要求: 1. 必须有一个明确的结束条件 2. 每次进入更深一层递归时,问题规模相比上次递归都应有所减少 3. 递归效率不高,递归层次过多会导致栈溢出(在计算机中,函数调用是通过栈(stack)这种数据结构实现的,每当进入一个函数调用,栈就会加一层栈帧,每当函数返回,栈就会减一层栈帧.由于栈的大小不是无限的,所以,递归调用的次数过多,会导致栈溢出) def calc(n): print(n) if…