前言:今天在参看目标跟踪IOUTracker的源码的时候发现许多的python代码看不懂,特此记录。
一、匿名函数lambda
跟C++一样,python也具有匿名函数lambda,具有以下特点:
ambda只是一个表达式,函数体比def简单很多。
lambda的主体是一个表达式,而不是一个代码块。仅仅能在lambda表达式中封装有限的逻辑进去。
lambda函数拥有自己的命名空间,且不能访问自有参数列表之外或全局命名空间里的参数。
虽然lambda函数看起来只能写一行,却不等同于C或C++的内联函数,后者的目的是调用小函数时不占用栈内存从而增加运行效率。
其定义的方法是:lambda [arg1 [,arg2,…argn]]:expression
如下列代码段定义的函数就是求两者相加:
sum = lambda arg1, arg2: arg1 + arg2
二、max()与key参数
max()是求之后的数组或者字典中的最大值,key关键字的作用是先对该数组的每个参数进行操作(即执行一个函数)之后再求最大值。
如:
tesL= [1,2,-3,4,5,-6]
print(max(test, key=abs))
最后返回的结果就是6。
2020/10/19
“本站所有文章均为原创,欢迎转载,请注明文章出处:https://blog.csdn.net/ll15982534415/article/details/109168630。百度和各类采集站皆不可信,搜索请谨慎鉴别。技术类文章一般都有时效性,本人习惯不定期对自己的博文进行修正和更新,因此请访问出处以查看本文的最新版本。”