对python的认识和理解_python高级函数以及我对python的理解

常见的高级函数:lambda、map、reduce、filter、list comprehension

lambda

匿名函数,限制一个表达式

m = lambda x,y:x+y

# 5

m(2,3)

map/list comprehension

列表推导式

m = lambda x:x*2

# [1,4,9]

[m(i) for i in [1,2,3]]

# 可迭代

map(m,[1,2,3])

reduce

reduce(fun,seq)

假设fun(x,y),seq首先传入2个元素,函数返回结果,继续传入下一个元素,直到元素全部遍历,最终得到一个结果。

import functools

import operator

a = [1,2,3,4]

# sum

functools.reduce(lambda a,b:a+b,a)

# max

functools.reduce(lambda a,b:a if a>b else b,a)

# 使用operator

In [21]: functools.reduce(operator.add,a)

Out[21]: 10

# product 乘

In [22]: functools.reduce(operator.mul,a)

Out[22]: 24

filter

filter(function, sequence)

可迭代的对象内元素,被函数调用,产生的True or False结果,返回结果为True的元素

a = [1,2,3,4]

# 奇数

#

b = filter(lambda x:x%2,a)

# 偶数

b = filter(lambda x:x%2 ==0,a)

我对于python的理解

python是一门解释型的高级语言,其解释器是由C语言编写的。在不了解cpython的前提下,依然可以完成大部分的开发工作。

它放弃一部分性能,使语言更加通俗易通,更加容易上手。我觉得这就是python的设计理念,杂糅很多其他语言的特性,可以面向对象,可以面向过程,高级函数也基于函数式编程的思想产生。

所以怎样才算精通python?

上面的点不一定要循序渐进。

java、golang、python,拥有很多独特的特性,但是殊途同归,底层的东西都是相似。就像人类语言,无论形式如何变化,最终都是表示具体的事物。深入理解一门语言,就像张无忌修习了九阳神功,以后无论是乾坤大挪移还是太极拳,都是水到渠成的事。

掌握的越多,对python的理解越深刻,才能脱离语言的束缚,找到编程真正的快乐。

无论我们学的是什么,愿你我都能找到编程的乐趣。共勉!!!

参考资料

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

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值