-
reduce(函数,list,初始化值)
查看全部 -
不是纯函数式编程:允许有变量
支持高阶函数:函数可以作为变量
支持闭包:可以返回函数
支持匿名函数。
查看全部 -
functools.partial(原函数,改变默认参数)
查看全部 -
有必要注意的是,返回函数和返回函数值的语句是非常类似的,返回函数时,不能带小括号,而返回函数值时,则需要带上小括号以调用函数。
查看全部 -
解题思路:
如果一个数的平方根转化为整型,然后再平方等于原来的数,则它的平方根为整数
查看全部 -
注意: s.strip()会默认删除空白字符(包括'\n', '\r', '\t', ' '),如下:
s = ' 123'
s.strip() # ==> 123
s= '\t\t123\r\n'
s.strip() # ==> 123查看全部 -
map()是 Python 内置的高阶函数,它接收一个函数 f 和一个 list,并通过把函数 f依次作用在list的每个元素上,map()函数会返回一个迭代器,可以依次迭代得到原来list的元素被函数f处理后的结果。
查看全部 -
def calc_prod(list_):
def prod():
result = 1
for x in list_:
result *= xreturn result
return prod
这个代码的思路是使用了一个闭包,也就是一个定义在函数内部的函数,它可以访问外部函数的变量。这样,当我们调用calc_prod(list_)时,它会返回一个prod函数,这个函数保存了list_的值,然后当我们调用prod()时,它会遍历list_中的元素并计算它们的乘积。
这个代码也可以用reduce函数来简化,reduce函数可以对一个序列应用一个二元操作符,并累积结果。例如,我们可以用operator模块中的mul函数来表示乘法操作:
from operator import mul # from functools
import reduce # python3 compatibility
def calc_prod(list_):
return lambda:
reduce(mul, list_, 1)
这里我们用lambda表达式来定义一个匿名函数,它返回reduce(mul, list_, 1)的结果。reduce(mul, list_, 1)的意思是从1开始,依次用mul函数把list_中的元素相乘,并返回最终结果。
查看全部 -
文件对象还提供seek()方法,可以移动文件的游标位置,它接受一个参数,表示文件的位置,0:文件首部,1:当前位置,2:文件尾部,通过seek()可以把文件游标移动到文件首部但不删除文件的内容。
查看全部 -
文件对象提供read()方法,可以读取文件中的若干个字符,它提供一个参数size,可以指定读取字符的数量。
s = f.read(5)
print(s) # ==> Hello当read()之后,访问文件的游标就会移动到第六个字符前面,此时,继续read,将得到Hello后面的结果。
s = f.read(6)
print(s) # ==> ' World'查看全部 -
注意,为了安全操作文件,文件使用完毕后,需要使用close()函数正确关闭。
查看全部 -
__call__ 方法定义了一个可以将类实例当作函数调用的功能。它接受一个参数 "num",表示要生成的斐波那契数列的长度。
在 __call__ 方法内部,定义了两个变量 "a" 和 "b",初始值分别为 0 和 1。使用一个循环迭代 "num" 次。
在每次迭代中,将 "a" 的值添加到 "res" 列表中。然后,通过交换 "a" 和 "b" 的值更新它们的值,即将 "b" 赋值给 "a",将 "a + b" 的和赋值给 "b"。
查看全部 -
python的函数式编程
1、不是纯函数式编程:允许有变量
2、支持高阶函数:函数可以作为变量
3、支持闭包:可以返回函数
4、支持匿名函数
查看全部 -
import math
def is_sqrt_int(n):
return math.sqrt(n) == int(math.sqrt(n))
result = list(filter(is_sqrt_int, range(1, 101)))
print(result)
查看全部 -
这是调用了r1这个实例的__add__方法,self是指实例本身也就是r1,而r这个参数就是指代r2,下文两个语句是等价的
print(r1+r2)
print(r1.__add__(r2))
查看全部
举报