首页 > lambda:c

lambda:c

lambda:c
这种函数意义何在?


c 是一个常量(你不打算在程序中改变它)时,这就是一个常值函数,常值函数和常数的区别自然是可以当函数用,可以用于一些需要回调的地方,在 Python 用另一个常用领域就是冒充一个类,因为对于 Python 而言 A() 无论 A 是类还是函数都是一个合法的语句。

例如 collections 模块中的 defaultdict 是一种可以设置默认值的字典,freqs = defaultdict(int) 常用于统计词频,可以直接通过 freqs[word] += 1 来增加计数器,defaultdict 发现 word 不在 freqs 中时会自动初始化 freqs[word] = int(),也就是设置初值为 0。那么如果因为某种原因我希望初值是 1 怎么办呢?只要定义:

freqs = defaultdict(lambda:1)

c 是一个变量时,还有一个用途是隐藏 c 这个变量,调用者只能通过函数访问 c 的值,而不能改变它。

【热门文章】
【热门文章】