高阶函数
【1】高阶函数的理解和简单使用
定义函数:
def fun(a,b):
return a+b
调用函数:
a = fun(1,2)
print(a)
高阶函数:
- 实参是一个函数名
- 函数的返回值是一个函数
- 函数本身也可以赋值给变量 变量可以指向函数
print(abs(-11))
f = abs
print(f(-10))
高阶函数传递的参数包含函数名
def fun(x,y,f):
return f(x),f(y)
print(fun(-10,34,abs))
【2】内置高阶函数—map(函数,序列)
1> map函数的使用方法
map()函数接收两个参数,一个是函数,一个是序列
map将传入的函数依次作用到序列的每个元素,并且把结果
作为新的序列返回
print(map(abs,[-2,9,-5])) <map object at 0x7f31257242e8> 返回的是一个对象
print(list(map(abs,[-2,9,-5])) 把map对象用列表生成式表示出来
2>内置高阶函数- map函数的应用
map( )函数接收两个参数,一个是函数,一个是序列
map( )将传入的函数依次作用到序列的每个元素,并且把结果作为新的序列返回
需求1:对于序列[-1,3,-4,-5]的每个元素求绝对值
print(list(map(abs,[1,-3,-4,5]))
map函数的应用1:对于序列的每个元素求阶乘
import random
def factoria(x):
"""对与x求阶乘"""
res = 1
for i in range(1,x+1):
res = res * i
return res
li = [random.randint(2,7) for i in range(10)]
print(list(map(factoria,li))) #将li序列中的每个元素依次作用于factoria函数
map函数的应用2:用户接收遗传数字;将该字符串中的所有数字转化为整型并以列表格式输出
练习:
题目描述:
现在IPV4下用一个32位无符号整数来表示,一般用点分方式来显示,点将IP地址分成4个部分,每个部分为8位,表示成一个无符号整