扫码关注官方订阅号
lambda:c这种函数意义何在?
认证0级讲师
当 c 是一个常量(你不打算在程序中改变它)时,这就是一个常值函数,常值函数和常数的区别自然是可以当函数用,可以用于一些需要回调的地方,在 Python 用另一个常用领域就是冒充一个类,因为对于 Python 而言 A() 无论 A 是类还是函数都是一个合法的语句。
c
A()
A
例如 collections 模块中的 defaultdict 是一种可以设置默认值的字典,freqs = defaultdict(int) 常用于统计词频,可以直接通过 freqs[word] += 1 来增加计数器,defaultdict 发现 word 不在 freqs 中时会自动初始化 freqs[word] = int(),也就是设置初值为 0。那么如果因为某种原因我希望初值是 1 怎么办呢?只要定义:
collections
defaultdict
freqs = defaultdict(int)
freqs[word] += 1
word
freqs
freqs[word] = int()
0
1
freqs = defaultdict(lambda:1)
当 c 是一个变量时,还有一个用途是隐藏 c 这个变量,调用者只能通过函数访问 c 的值,而不能改变它。
微信扫码关注PHP中文网服务号
QQ扫码加入技术交流群
Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号
PHP学习
技术支持
返回顶部
当
c是一个常量(你不打算在程序中改变它)时,这就是一个常值函数,常值函数和常数的区别自然是可以当函数用,可以用于一些需要回调的地方,在 Python 用另一个常用领域就是冒充一个类,因为对于 Python 而言A()无论A是类还是函数都是一个合法的语句。例如
collections模块中的defaultdict是一种可以设置默认值的字典,freqs = defaultdict(int)常用于统计词频,可以直接通过freqs[word] += 1来增加计数器,defaultdict发现word不在freqs中时会自动初始化freqs[word] = int(),也就是设置初值为0。那么如果因为某种原因我希望初值是1怎么办呢?只要定义:当
c是一个变量时,还有一个用途是隐藏c这个变量,调用者只能通过函数访问c的值,而不能改变它。