Python 高阶函数reduce,map,sorted,filter,偏函数(Partial),__slots__变量

  1. map()函数
    语法:map(function,Iterable)
    返回值:Iterator
    作用:将function作用在iterable的每个元素上,并创建一个iterator
a = ["xiaoZhang","XIAOMING","XiaoLing"]
def normalize(name):
	return name[0].upper()+name[1:].lower()
result = list(map(normalize,a))

result:['Xiaozhang', 'Xiaoming', 'Xiaoling']

  1. reduce()函数
    语法:reduce(function,iterable)
    返回值:结果值
    作用:将 前面每两个值进行function作用,function作用结果值与后一个值再进行function作用,直到为 唯一值
    需要:from functools import reduce
from functools import reduce
a = list(range(1,10))
def add(a,b):
	return a+b
result = reduce(add,a)

result:45

  1. sorted()函数
    语法:sorted(Iterable,key = None,reverse = Flase)
          key(作用函数),reverse(是否反转)
    作用:对iterable进行排序
    返回值:结果值
a = [1,2,5,7,3,1,1,3,6]
result = sorted(a,reverse = True)

result:[7, 6, 5, 3, 3, 2, 1, 1, 1]

  1. filter()函数
    语法:filter(function,Iterable)
          (根据function返回值为True或False,判断是否保留)
    作用:对iterable进行过滤
    返回值:Iteroter
def fn(num):
	if num%2 == 0:
		return True
	else:return False
a = list(range(1,10))
result = list(filter(fn,a))

result:[2, 4, 6, 8]

  1. 偏函数(partial)
    作用:改变并固定函数的默认值
    语法:functools.partial(function,关键字传参)
    需要:import functools
import functools
int_2 = functools.partial(int,base = 2)
a = "101"
result = int_2(a)

result:5

  1. __ slots __ 变量
    作用:限制类对象添加的属性
    语法:__ slots __ = (属性名)
class Student():
	def __init__(self,name):
		self._name = name
	__slots__ = ("_name","age")
a = Student("xiaoming")
a.age = "16"
# a.height = "180cm" 添加数据无效

(__ slots __ 只对当前类和实例有用,对子类没用)

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值