python中fac函数_Python学习---内置函数的学习

内置函数

重要函数

filter(function, sequence): 对sequence中的item依次执行function(item),将执行结果为True的item做成一个filter object的迭代器返回。可以看作是过滤函数。【不更改原来的值,只有一个过滤的效果】def fun1(s):

if s != 'a':

return s

ret = filter(fun1, str)

print(ret) # ret是一个迭代器对象

print(list(ret)) # ['b', 'c', 'd']

eval:  计算器功能【在引号内使用】和直接返回数据原本的类型print(eval('1+2+3+4+5+6+7+8+9+10')) # 55

map(function, sequence) : 对sequence中的item依次执行function(item),将执行结果组成一个map迭代器返回【更改元素值】str = ['m', 'g', 'f', 'w']

def fun2(s):

return s + "ood"

ret = map(fun2, str)

print(ret) # map object的迭代器

print(list(ret)) # ['mood', 'good', 'food', 'wood']

注意:map也支持多个sequence,这就要求function也支持相应数量的参数输入:def add(x, y):

return x+y

print (list(map(add, range(10), range(10))))##[0, 2, 4, 6, 8, 10, 12, 14, 16, 18]

map和filter的区别:def f(s):

return s + 'ood'

li = ['f', 'm', 'g', 'h']

print(list(map(f, li))) # ['food', 'mood', 'good', 'hood'],拼凑后重新输出

print(list(filter(f, li))) # ['f', 'm', 'g', 'h'], 输出原来的值

reduce(function, sequence, starting_value): 对sequence中的item顺序迭代调用function,如果有starting_value,还可以作为初始值调用.   【直接返回结果,区别map和filter, 阶乘很方便】from functools import reduce

def fac(x,y):

return x * y

print(reduce(fac, range(1, 5))) # 24

print(reduce(fac, range(1, 5), 10)) # 240

getattr(obj, name, default)函数:从obj对象中取出来某个属性或者方法,没有则打印default值

class Foo:

def __init__(self, name, age):

self.name = name

self.age = age

obj = Foo('ftl', 23)

print(obj.name)

b = 'name'

print('obj.__dict__[b]:',obj.__dict__[b]) # 通过字典取值

print("getattr(obj, 'name'):",getattr(obj, 'name')) # 通过内置函数getattr取出值

setattr(obj, 'school', 'xupt')

print(hasattr(obj, 'school'))

print(delattr(obj, 'school')) # 其他的内置方法,通过字符串的形式操作对象的成员

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

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值