匿名函数

day15 内置函数 续及 匿名函数

≯℡__Kan透↙ 提交于 2020-04-07 15:24:10
1查看内置属性 **dir:讲对象的所有方法名放置在一个列表中,并返回 print(dir(str)) print(dir("abc")) 查看字符串的各种用法 ***range:函数可创建一个整数对象 一般用在for循环中 **next 内部实际用了__next__方法,返回迭代器的下一个项目 **iter 函数用来生成迭代器 (讲一个可迭代对象,生成迭代器) 基础数据类型相关 1 数字相关(14)   数字类型(4)     **bool :用于将给定参数转换为布尔类型 如果没有参数 返回 Flase      **int 函数用于讲一个字符串或数字转换为整型 例 print(bool("")) print(int("111")) print(int(12.73)) print(int("12.73")) #报错 print(int("0100",base=2)   **float: 函数用于将证书和字符串转换成浮点数 print(1.22,type(1.22)) #1.22 <class 'float'>   *compelx:用于创建一个值位real+imag*j的复数或者转化为字符串 如果第一个参数为字符串,则不需要指定第二个参数 # print(complex(1,2)) # *bin:将十进制转换成二进制并返回。 # print(bin(3)) # 0b11 #

php (匿名函数和闭包)

≡放荡痞女 提交于 2020-04-06 03:51:38
一、什么是闭包 1、闭包和匿名函数在php5.3.0中两个php新特性,使用的也最多,这两个特性听起来很吓人, 其实很容易理解,这两个特性非常有用,每个php开发者都应该掌握。 2、闭包是指在创建时封装周围状态的函数,即便闭包所在的环境不存在了,闭包中封装的状态依然存在,这个概念很难理解 不过一单掌握了,将会对你的生活带来巨大的变化。 3、匿名函数其实就是没有名称的函数,匿名函数可以赋值给变量,还能像其他任何php对象那样传递,不过匿名函数仍然是 匿名函数,因此可以调用,还可以传入参数,匿名函数特别适合作为函数或方法的回调。 理论上讲,闭包和匿名函数是不同的概念,不过,php将其视作相同的概念,所以,我提到闭包时,指的也是匿名函数, 反之亦然。 4、php闭包和匿名函数使用的句法和普通函数相同,不过别被这一点迷惑了,闭包和匿名函数其实是伪装成函数的对象, 如果审查php闭包和匿名函数,会发现他们是Closure类的实例,闭包和字符串或整数一样,也是一等值类型。 二、创建一个闭包 $closure = function ($name) { return sprintf('Hello %s', $name); }; echo $closure('Yee Jason'); 输出 Hello Yee Jason. 之所以能调用$closure变量,是因为这个变量的值是一个闭包

二分法,匿名函数

隐身守侯 提交于 2020-04-04 17:19:08
目录 二分法的应用 匿名函数 内置函数 面向过程编程 注册功能 分层实现功能 函数阶段性练习 二分法的应用 有一个从小到大排列的整形数字列表,我们判断某一个数字是不是在这个列表里面。 动用二分法查找数字 import time def rec_find_num(num, lis): """递归版本""" lis_len = int(len(lis) / 2) # 10.0 binary_num = lis[lis_len] # 10 if len(lis) == 1: print('没找到') return if binary_num > num: lis = lis[:lis_len] rec_find_num(num, lis) elif binary_num < num: # 10 < 18 lis = lis[lis_len + 1:] rec_find_num(num, lis) else: print('找到了') lis = [i for i in range(100000000)] # [0, 1, 2, 3, 4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 18, 19] start = time.time() rec_find_num(4567899900, lis) end = time.time()

函数声明、函数表达式、匿名函数、立即执行函数

白昼怎懂夜的黑 提交于 2020-04-04 01:11:36
函数声明:function fnName () {…};使用function关键字声明一个函数,再指定一个函数名,叫函数声明。 函数表达式 var fnName = function () {…};使用function关键字声明一个函数,但未给函数命名,最后将匿名函数赋予一个变量,叫函数表达式,这是最常见的函数表达式语法形式。 匿名函数:function () {}; 使用function关键字声明一个函数,但未给函数命名,所以叫匿名函数,匿名函数属于函数表达式,匿名函数有很多作用,赋予一个变量则创建函数,赋予一个事件则成为事件处理程序或创建闭包等等。 1 fnName(); 2 function fnName(){ 3 ... 4 } 5 //正常,因为‘提升'了函数声明,函数调用可在函数声明之前 6 7 fnName(); 8 var fnName=function(){ 9 ... 10 } 11 //报错,变量fnName还未保存对函数的引用,函数调用必须在函数表达式之后 1 var fnName=function(){ 2 alert('Hello World'); 3 }(); 4 //函数表达式后面加括号,当javascript引擎解析到此处时能立即调用函数 5 function fnName(){ 6 alert('Hello World'); 7 }(); 8 /

JS创建函数的方法

北战南征 提交于 2020-03-30 10:10:22
JS创建函数的方法 JavaScript是通过关键字 function 来声明一个函数 一、命名函数 1.创建方法   function 函数名(参数1,参数2,参数3.......){ } 2.示例 function fn1(){ console.log("命名函数"); } 二 、匿名函数 变量匿名函数 1.定义方法 var 变量名=function(参数1,参数2,........){ } 2.注意事项:   1.变量匿名函数可以设置给一个变量,也可以设置给对象的属性 *****2.只能在函数声明之后才能调用(当代码运行到 变量匿名函数所在行时,才会将这个匿名函数赋值给变量)   否则会报错 : Uncaught TypeError: fn2 is not a function 3.示例 var fn2=function(){ console.log("变量型匿名函数"); }     fn2(); 自执行匿名函数 1.定义方法 (function(形参1,形参2,........){ })( 实参1,实参2.......); 2.缺点 自执行匿名函数只能执行一次,无法再次使用 3.示例 (function(){ console.log("自执行匿名函数"); })(); 三、function构造函数 1.示例 var fn3=new Function("num1",

day13匿名函数

被刻印的时光 ゝ 提交于 2020-03-27 20:57:21
补充知识点: def func(*args): for i in args: for j in i: yield i print(list(func('asdf',(1,2,3)))) #list可以将生成器中的所有元素添加到列表中。 #简化上述函数: def func(*args): for i in args: yield from i #优化了内层循环,提高了运行效率。 匿名函数(用lambda构建):一语句函数,比较简单的函数。形式:lambda 参数 : 返回值 def func(a,b): return a+b #构建匿名函数: func1 = lambda a,b:a+b print(func1(1,2)) lambda 参数 : 返回值:lambda后直接加形参,形参加多少都可以,但一般只用位置参数,参数之间需要用”,“隔开。 #例1:接受一个可切片的数据,以元祖形式返回索引位0与2的对应元素 func = lambda a:(a[0],a[2]) #例2:接收两个int参数,将较大的数据返回。 func = lambda a,b:a if a>b else b 内置函数: int():将字符串类型转换为int类型;取整(舍尾法) float():将int和str转换为float。 list():将一个可迭代对象转换成列表 tuple():将一个可迭代对象转换成元组

二分法 匿名函数

扶醉桌前 提交于 2020-03-26 23:41:19
1.算法之二分法 # 需求:有一个按照从小到大顺序排列的数字列表 # 需要从该数字列表中找到我们想要的那个一个数字 # 如何做更高效??? nums=[-3,4,7,10,13,21,43,77,89] find_num=10 # def binary_search(find_num,l): # print(l) # if len(l) == 0: # print('找的值不存在') # return # mid_index=len(l) // 2 # # if find_num > l[mid_index]: # # 接下来的查找应该是在列表的右半部分 # l=l[mid_index+1:] # binary_search(find_num,l) # elif find_num < l[mid_index]: # # 接下来的查找应该是在列表的左半部分 # l=l[:mid_index] # binary_search(find_num,l) # else: # print('find it') # # binary_search(find_num,nums) 2.面向过程的编程思想 # 面向过程的编程思想: # 核心是"过程"二字,过程即流程,指的是做事的步骤:先什么、再什么、后干什么 # 基于该思想编写程序就好比在设计一条流水线 # 优点:复杂的问题流程化、进而简单化 #

lambda匿名函数透析

梦想与她 提交于 2020-03-26 19:29:40
lambda 匿名函数透析 目录 1 匿名函数的作用... 1 2 匿名函数的格式... 1 3 匿名函数实例代码... 3 1 匿名函数的作用 使用一个新东西之前,先要弄清楚这东西有什么好处,有什么作用,要不要用。匿名函数的作用是提供一种一般只在某处使用一次,而且代码长度比较短的情况,比如在一个函数中要将时间转换为字符串格式。如果你要在类中定义这个函数,则要命名一个函数,再实现函数,这个函数其他地方又用不到,而且很短小,而外的增加了一个接口函数,感觉大材小用;这样我们只要在用的地方实现一个匿名函数,这个匿名函数实现了简单的功能,而且可以使用作用域内的所有变量,如果是在类中定义一个函数,需要将用到的变量当做参数传递进去,而匿名函数不用采用参数传入的形式,可以直接使用作用域内的变量,减少形参和实参的传递,这应该是匿名函数简洁的特性体现。 2 匿名函数的格式 如图所示匿名函数的格式如图所示,[ 捕获列表 ] ( 形参数列表 ) mutable(可选) 异常属性 -> 返回值类型 { 函数体 } (1)匿名函数以[]开头,来声明一个匿名函数,[]中可以是等号=,表示作用域内的所有变量按值传递给匿名函数,匿名函数内对变量进行操作,不会改变作用域内变量的值,只是传入变量的值进去。如果是&,则表示作用域内的所有变量按引用传入匿名函数,匿名函数内部对变量的修改,会使作用域内的变量的值发生变化

python生成器、推导式及匿名函数

非 Y 不嫁゛ 提交于 2020-03-26 17:48:41
生成器初识 生成器本质就是迭代器。python社区中生成器与迭代器是一种概念。生成器与迭代器的唯一区别:迭代器都是Python给你提供的已经写好的工具或者通过数据转化得来的,(比如文件句柄,iter([1,2,3])。生成器是我们自己用python代码构建的工具。 生成器构建方式 生成器函数。 生成器表达式。 python给你提供的一些内置函数,返回一个生成器。 生成器函数。 生成器函数: 只要函数中出现了yield那么他就不是函数,它是生成器函数 def func(): print(111) yield 2,4,5 print(222) yield 3 ret = func() # 生成器对象 print(ret) # <generator object func at 0x0000000001E10F68> # 只要函数中出现了yield那么他就不是函数,它是生成器函数。 # 一个next对应一个yield.next超过yield数量,就会报错,与迭代器一样。 print(next(ret)) print(next(ret)) yiled与return的区别 # return 结束函数,给函数的执行者返回值(多个值通过元组的形式返回)。 # yield 不结束函数,对应着给next返回值(多个值通过元组的形式返回)。 send(了解) def gen(name): print

Python函数

半城伤御伤魂 提交于 2020-03-23 18:28:41
一、相关 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。你已经知道Python提供了许多内建函数,比如print()。但你也可以自己创建函数,这被叫做用户自定义函数。 Python函数可以在类外定义。 Python函数类似Java中的方法。 二、定义一个Python函数 Python中以def开始定义函数,无需注明函数的返回值类型。 函数名后跟(),其中放入函数所需要的参数,同样的参数不需要注明类型。 函数体以冒号开始,并且首行按规定缩进。 函数第一行可以选择性地使用文档字符串来进行函数说明。 可以选择性地以return结束函数,不包含return的函数,返回值为None。 1.函数定义通式 def 函数名(参数列表): "函数说明" 函数体 2.定义一个hello函数 def hello(): """一个hello函数""" print("Hello World!!!") hello() C:\Python\Python37-32\python.exe E:/Workspaces/PycharmProjects/untitled/openTest.py Hello World!!! Process finished with exit code 0 3.定义一个带参函数 def hello(str): ""