摘要: 函数也是一个对象,并且这个对象可以被赋值给变量,所以,我们可以通过变量调用该函数 > def now(): ... print('2015-3-25') ... >>> f = now >>> f() 2015-3-25 函数对象有一个__ name __属性,可以拿到函数名字: > now.__n 阅读全文
posted @ 2023-06-14 18:44 鹿丸子 阅读(10) 评论(0) 推荐(0)
摘要: 内部函数sum**可以引用外部函数lazy_sum的参数和局部变量**,当lazy_sum返回函数sum时,相关参数和变量都保存在返回的函数中,这种称为“**闭包(Closure)**”的程序结构拥有极大的威力 #def lazy_sum(*args): def sum(): ax = 0 for 阅读全文
posted @ 2023-06-14 18:44 鹿丸子 阅读(66) 评论(0) 推荐(0)
摘要: # filter Python内建的filter()函数用于过滤序列。 和map()类似,filter()也接收一个函数和一个序列。和map()不同的是,filter()把传入的函数依次作用于每个元素,然后根据返回值是True还是False决定保留还是丢弃该元素。 e.g在一个list中,删掉偶数, 阅读全文
posted @ 2023-06-14 18:03 鹿丸子 阅读(28) 评论(0) 推荐(0)
摘要: #### Python的functools模块提供了很多有用的功能,其中一个就是偏函数(Partial function) 比如,int函数默认十进制转换,若提供其它base参数,就可以进行n进制转换 >>> int('12345', base=8) 5349 >>> int('12345', 16 阅读全文
posted @ 2023-06-14 17:56 鹿丸子 阅读(12) 评论(0) 推荐(0)
摘要: 当我们在传入函数时,有些时候,**不需要显式地定义函数,直接传入匿名函数更方便**。 > list(map(lambda x: x * x, [1, 2, 3, 4, 5, 6, 7, 8, 9])) [1, 4, 9, 16, 25, 36, 49, 64, 81] 由此,匿名函数lambda x 阅读全文
posted @ 2023-06-14 15:50 鹿丸子 阅读(10) 评论(0) 推荐(0)
摘要: ## 什么是生成器? _生成器用更优雅简洁的方式来同时实现__iter__(), __ next __(), 并自动触发StopIteration 异常_ ### yield ![image](https://img2023.cnblogs.com/blog/3221459/202306/32214 阅读全文
posted @ 2023-06-14 12:46 鹿丸子 阅读(22) 评论(0) 推荐(0)
摘要: 1. 迭代器的接口 2. 迭代器的用法 3. 自定义迭代器 4. **迭代器的意义** ## 1迭代器的接口 - 可迭代对象 ![image](https://img2023.cnblogs.com/blog/3221459/202306/3221459-20230613224216991-1634 阅读全文
posted @ 2023-06-14 10:40 鹿丸子 阅读(29) 评论(1) 推荐(0)