2024年Python最全讲讲Python中的普通函数和高阶函数_python 高级函数低级函数,2024年最新字节跳动面试几轮

(1)Python所有方向的学习路线(新版)

这是我花了几天的时间去把Python所有方向的技术点做的整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。

最近我才对这些路线做了一下新的更新,知识体系更全面了。

在这里插入图片描述

(2)Python学习视频

包含了Python入门、爬虫、数据分析和web开发的学习视频,总共100多个,虽然没有那么全面,但是对于入门来说是没问题的,学完这些之后,你可以按照我上面的学习路线去网上找其他的知识资源进行进阶。

在这里插入图片描述

(3)100多个练手项目

我们在看视频学习的时候,不能光动眼动脑不动手,比较科学的学习方法是在理解之后运用它们,这时候练手项目就很适合了,只是里面的项目比较多,水平也是参差不齐,大家可以挑自己能做的项目去练练。

在这里插入图片描述

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

我们思考一下计算圆形和方形的面积

相信大家闭着眼都能写出下面两个函数:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/24 11:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : func_demo2.py
# @Project : hello
import math


def circle_area(r):
    return math.pi * r * r


def rectangle_area(a, b):
    return a * b

这是圆形面积的数学公式:

f

(

r

)

=

π

r

2

f® = \pi * r^2

f®=π∗r2
这是矩形面积的数学公式:

f

(

a

,

b

)

=

a

b

f(a, b) = a * b

f(a,b)=a∗b

我们看到这里有的有1个参数的,有的有两个的怎么变成高阶函数?

读者可以思考一会。

下面是代码:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/24 11:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : func_demo2.py
# @Project : hello
import math


def circle_area(r):
    return math.pi * r * r


def rectangle_area(a, b):
    return a * b


def area(x, linear, factor):
    return x * linear(x, factor)


def relation(x, factor):
    return x * factor


a = 10
b = 20

print("长方形面积:", rectangle_area(a, b))
print("圆形面积:", circle_area(a))
print("长方形面积:", area(a, relation, factor=b / a))
print("圆形面积:", area(a, relation, factor=math.pi))

结果如下图:

屏幕快照 2021-10-31 下午9.41.56.png

这只是一种解法。

从代码可以看到,我们把圆形和矩形都看作某一个参照物(半径/一条边)的平方,再成乘以一个系数。

下面,我们把正方形面积计算加上:

#!/usr/bin/env python
# -*- coding: utf-8 -*-
# @Time : 2021/10/24 11:39 下午
# @Author : LeiXueWei
# @CSDN/Juejin/Wechat: 雷学委
# @XueWeiTag: CodingDemo
# @File : func_demo2.py
# @Project : hello
import math


def circle_area(r):
    return math.pi * r * r


def square_area(a):
    return a * a


def rectangle_area(a, b):
    return a * b


def area(x, linear, factor):
    return x * linear(x, factor)


def relation(x, factor):
    return x * factor


a = 10
b = 20

print("长方形面积:", rectangle_area(a, b))
print("正方形面积:", square_area(a))
print("圆形面积:", circle_area(a))
print("长方形面积:", area(a, relation, factor=b / a))
print("正方形面积:", area(a, relation, factor=1))
print("圆形面积:", area(a, relation, factor=math.pi))

上面的代码执行结果如下:

屏幕快照 2021-10-31 下午9.45.26.png

这就是高阶函数的神奇之处,我们从正方形的角度思考。

只用一个area函数和relation函数,这两个函数都不必修改,只需要给一个factor(经验因子),就能快速计算它的面积。

为何高阶函数能够降低维度

从上面距离的计算面积的函数,我们可以看到计算圆形和长方形,都能看成一个一维函数。

然后以正方形面积为参照物,快速估算出圆形和方形的面积。

当然上面的计算圆形面积采用了半径,还不够直观,读者可以自行改为直径,这样factor = math.pi / 4。

这样在感受上会更贴切。

总结

除了上面介绍的函数,参数,高阶函数。我们还可以使用lambda函数:

lambda  参数1, 参数2,。。。,第n个参数 : 计算表达式

上面的函数relation函数可以省略不写,最后调用改为:

print("长方形面积:", area(a, lambda x, f: x * f, factor=b / a))
print("正方形面积:", area(a, lambda x, f: x * f, factor=1))
print("圆形面积:", area(a, lambda x, f: x * f, factor=math.pi))

对了,喜欢Python的朋友,请关注学委的 Python基础专栏 or Python入门到精通大专栏

最后

不知道你们用的什么环境,我一般都是用的Python3.6环境和pycharm解释器,没有软件,或者没有资料,没人解答问题,都可以免费领取(包括今天的代码),过几天我还会做个视频教程出来,有需要也可以领取~

给大家准备的学习资料包括但不限于:

Python 环境、pycharm编辑器/永久激活/翻译插件

python 零基础视频教程

Python 界面开发实战教程

Python 爬虫实战教程

Python 数据分析实战教程

python 游戏开发实战教程

Python 电子书100本

Python 学习路线规划

网上学习资料一大堆,但如果学到的知识不成体系,遇到问题时只是浅尝辄止,不再深入研究,那么很难做到真正的技术提升。

需要这份系统化学习资料的朋友,可以戳这里获取

一个人可以走的很快,但一群人才能走的更远!不论你是正从事IT行业的老鸟或是对IT行业感兴趣的新人,都欢迎加入我们的的圈子(技术交流、学习资源、职场吐槽、大厂内推、面试辅导),让我们一起学习成长!

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值