匿名函数

Python lambda

杀马特。学长 韩版系。学妹 提交于 2020-01-23 22:25:45
Python的lambda关键字用于创建匿名函数 语法如下 lambda args:expression args 是匿名函数接受的参数,expression是匿名函数的表达式。 该表达式不能是多行的,也不能含义for while等表达式 来源: CSDN 作者: 枫·羽 链接: https://blog.csdn.net/qq_38383364/article/details/104077449

python基础之推导式及匿名函数和高阶函数

。_饼干妹妹 提交于 2020-01-20 23:27:32
推导式 推导式:做一些有规律的数据结构 列表推导式: 1.普通循环 print([i for i in range(1,51)]) [加工后的变量 for 循环] print([f "学习python{i}天" for i in range(1,51)) 2.筛选模式 print([i for i in range(1,51) if i > 25]) print([i+j for i in range(2) for j in range(2)]) 字典推导式 1.普通循环 {键:值 for 循环} print({i:i+1 for i in range(3) if i > 1}) print(f"Python{i}":f"DAY{i+1}" for i in range(3)}) 输出:{'Python0': 'DAY1', 'Python1': 'DAY2', 'Python2': 'DAY3'} 2.筛选模式 {加工后的变量:加工后的变量 for循环 加工条件} print({i:i+1 for i in range(3) if i > 1}) 集合推导式 1.普通循环 {变量 for 循环} print({i for i in range(3)}) 2.筛选模式 {加工后的变量 for循环 加工条件} print({i for i in range(3) if i >2})

python 学习笔记2 匿名函数

混江龙づ霸主 提交于 2020-01-20 15:14:38
# 匿名函数 lambda a,b : a+b# a.j.from functools import reducestudents = [{'name': '张三', 'age': 18, 'height': 188}, {'name': '李四', 'age': 17, 'height': 178}, {'name': '王五', 'age': 19, 'height': 186}]# 排序 reverse=True 反向resultSorted = sorted(students, key=lambda x: x['height'], reverse=True)print('resultSorted: {}'.format(list(resultSorted)))# 最大resultMax = max(students, key=lambda x: x['age'])print('resultMax: {}'.format(list(resultMax)))# 最小resultMin = min(students, key=lambda x: x['height'])print('resultMin: {}'.format(list(resultMin)))# 筛选age大于17的字典resultFilter = filter(lambda x: x['age'] > 17,

Python学习笔记(六)之函数式编程

微笑、不失礼 提交于 2020-01-20 00:17:04
目录 1.函数式编程(Functional Programming) 2. 高阶函数 2.1 高阶函数是什么? 2.2 map 2.3 reduce 2.4 filter 2.5 sorted 3. 返回函数 3.1 返回函数是什么? 3.2 返回函数实例分析 4. 匿名函数(lambda) 4.1 匿名函数是什么? 4.2 匿名函数实例分析 4.3 匿名函数注意点 5. 装饰器(Decorator) 5.1 装饰器是什么? 5.2 装饰器实例分析 6. 偏函数(Partial function) 6.1 老规矩,偏函数是什么? 6.2 话不多说,直接上实例 6.3 偏函数小总结 1.函数式编程(Functional Programming) 在编程语言中(抽象程度是相对于计算机来说的): 越低级的语言,越贴近计算机,抽象程度越低,执行效率越高,如C语言; 越高级的语言,越贴近数学计算,抽象程度高,执行效率越低,如Lisp。 函数式编程就是一种抽象程度很高的编程范式,纯粹的函数式编程语言编写的函数没有变量。 函数式编程 特点 : 允许将一个函数作为参数传入到另一个函数中。 允许返回一个函数。 Python对函数式编程提供部分支持,由于Python允许使用变量,所以它不是存函数式编程。 2. 高阶函数 2.1 高阶函数是什么? 首先了解两个概念 变量可以指向函数 例2.1.1: >>

python学习:函数---匿名函数 lambda

喜欢而已 提交于 2020-01-19 15:15:04
语法: lambda [arg1 [,arg2,.....argn]]:expression 说明: lambda 只是一个表达式,函数体比 def 简单很多。 lambda 主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。 lambda 函数拥有自己的命名空间,且不能访问自己参数列表之外或全局命名空间里的参数。 lambda 可以有多个参数,参数之间用逗号隔开。 lambda 函数只能写一行。 例题: func = lambda x:(x[0],x[2]) print(func('hello')) # ('h', 'l') func = lambda x,y: x if x > y else y print(func(3,100)) # 100 dic = {'k1':20,'k2':100,'k3':40} print(max(dic)) # k3 print(max(dic,key=lambda k:dic[k])) # k2 ret = map(lambda x: x ** 2, [1, 2, 3, 4, 5]) print(list(ret)) # [1, 4, 9, 16, 25] # 提供了两个列表,对相同位置的列表数据进行相加 ret = map(lambda x, y: x + y, [1, 3, 5, 7, 9], [2, 4

Python——类与对象的学习笔记

谁说胖子不能爱 提交于 2020-01-17 17:30:16
1 前言 今天在学习FCN的时候,看到“@classmethod”这样的语法,不过不太记得它的含义了, 所以想要写笔记记录一下~ 2 Python中类的方法 Python中类的方法有几种形式, 2.1 @classmethod @classmethod我个人感觉像是一种一次性使用的方法,这里使用class感觉有点“匿名空间”的感觉,这里的@classmethod实际上是先初始化了一个匿名对象x,然后调用这个匿名对象x的函数,我感觉这个比较适合不需要初始化、一次性功能使用的场景,下次在写mAP的评测函数时,可以考虑使用一下这种写法; 来源: CSDN 作者: songyuc 链接: https://blog.csdn.net/songyuc/article/details/104017850

C#匿名函数和Lambda表达式

回眸只為那壹抹淺笑 提交于 2020-01-17 10:06:25
class Program { delegate void MyDelegate(string str); static void Main(string[] args) { //正常调用 MyDelegate myDelegate = new MyDelegate(CW); myDelegate("正常调用"); //匿名函数 MyDelegate myDelegate2 = delegate (string str) { Console.WriteLine(str); }; myDelegate("匿名函数"); //Lambda表达式 MyDelegate myDelegate3 = (string str) => { Console.WriteLine(str); }; myDelegate3("Lambda表达式"); Console.ReadKey(); } static void CW(string str) { Console.WriteLine(str); } } 来源: https://www.cnblogs.com/xiaobao2017/p/12204320.html

02)学习 Kotlin 编程语言

痞子三分冷 提交于 2020-01-17 01:33:23
学习 Kotlin 编程语言 Kotlin 是世界各地的 Android 开发者广泛使用的一种编程语言。本主题可充当 Kotlin 速成课程,能够帮助您快速上手。 变量声明 Kotlin 使用两个不同的关键字(即 val 和 var)来声明变量。 val 用于值从不更改的变量。您不能为使用 val 声明的变量重新赋值。 var 用于值可以更改的变量。 在以下示例中,count 是一个 Int 类型的变量,为其赋予的初始值为 10: var count : Int = 10 Int 是一种表示整数的类型,它是可以在 Kotlin 中表示的众多数值类型之一。与其他语言类似,您也可以使用 Byte、Short、Long、Float 和 Double,具体取决于您的数值数据。 var 关键字表示您可以根据需要为 count 重新赋值。例如,您可以将 count 的值从 10 更改为 15: var count : Int = 10 count = 15 不过,有些值不应更改。假设有一个名为 languageName 的 String。如果您要确保 languageName 的值始终为“Kotlin”,则可以使用 val 关键字来声明 languageName: val languageName : String = "Kotlin" 通过这些关键字,您可以明确指出哪些变量的值可以更改

Python函数作用域和匿名函数以及闭包、回调、递归的使用

老子叫甜甜 提交于 2020-01-16 14:47:34
# 函数的作用域 # 全局变量不会去拿局部变量的东西 # 局部变量有的东西就拿自己的,没有就拿全局变量的 # global 可以改变全局变量的值 a = 8 # 全局变量 c = 6 def f ( ) : # 局部变量 global a # global:当局部的需要改变全局的就用 b = 5 a = a + 1 # 强行要改变全局变量的东西,报错 print ( a ) # 输出 9 def f2 ( ) : nonlocal b # nonlocal:当局部的使用局部的就用 b = b + 1 print ( b ) # 输出 6 f2 ( ) f ( ) print ( a ) # 输出 9 # 匿名函数 li = [ 1 , 23 , 4 , 12 , 42 , 2 ] print ( list ( filter ( lambda o : o > 10 , li ) ) ) # 闭包:外层函数返回内层函数名称为闭包 现在需要在全局来调用f2函数 def f ( ) : print ( '这里是f函数' ) def f2 ( ) : print ( '这里是f2函数' ) return f2 # f2 函数名 l = f ( ) l ( ) 函数什么时候执行 : 函数名加括号 return 返回的是什么l就是什么 # 递归:函数自己调用自己 def f ( ) :

Scala之偏函数Partial Function

拜拜、爱过 提交于 2020-01-16 09:06:59
本文原文出处: http://blog.csdn.net/bluishglc/article/details/50995939 严禁不论什么形式的转载,否则将托付CSDN官方维护权益! 从使用case语句构造匿名函数谈起 在Scala里,我们能够使用case语句来创建一个匿名函数(函数字面量)。这有别于一般的匿名函数创建方法。来看个样例: scala> List(1,2,3) map {case i:Int=>i+1} res1: List[Int] = List(2, 3, 4) 这很有趣, case i:Int=>i+1 构建的匿名函数等同于 (i:Int)=>i+1 。也就是以下这个样子: scala> List(1,2,3) map {(i:Int)=>i+1} res2: List[Int] = List(2, 3, 4) 《Scala In Programming》一书对独立的case语句作为匿名函数(函数字面量)有权威的解释: Essentially, a case sequence is a function literal, only more general. Instead of having a single entry point and list of parameters, a case sequence has multiple entry