Python函数1(1)

本文详细介绍了Python中的函数概念,包括函数调用、参数(必选参数、可选参数和可变参数)、返回值,以及局部变量与全局变量的区别。此外,还提到了lambda函数的用法及其注意事项。文章最后提及了一套完整的Python学习资料,覆盖了从入门到进阶的内容。

摘要生成于 C知道 ,由 DeepSeek-R1 满血版支持, 前往体验 >

想要函数执行必须经过调用:

fact(5) #函数的调用,表示计算5的阶乘。

  • 调用时要给出实际参数

  • 实际参数替换定义中的参数

  • 函数调用后得到返回值

调用过程:

函数被定义后调用,接收到实际参数后,函数会跑到定义出替换掉形式参数,然后用实参执行代码语句块,最终返回运算结果传回函数调用处,继续执行下面代码。

在这里插入图片描述


函数的参数传递


函数可以有参数,也可以没有,但括号必须有,无参就写空括号。

可选参数传递 :函数定义时可以为某些参数指定默认值,构成可选参数

def <函数名>(<非可选参数>, <可选参数>) :

<函数体>

return <返回值>

必选参数放前面,可选参数放在后面。

在这里插入图片描述


可变参数传递

函数定义时可以设计可变数量参数,既不确定参数总数量

def <函数名>(<参数>, *b ) :

<函数体>

return <返回值>

在这里插入图片描述

函数调用时:

1.按位置传递

2.按名称传递

在这里插入图片描述

函数的返回值


函数可以返回0个或多个结果

  • return保留字用来传递返回值

  • 函数可以有返回值,也可以没有,可以有return,也可以没有

  • return可以传递0个返回值,也可以传递任意多个返回值


局部变量和全局变量


在这里插入图片描述

局部变量和全局变量是不同变量

  • 局部变量是函数内部的占位符,与全局变量可能重名但不同

  • 函数运算结束后,局部变量被释放

  • 可以使用global保留字在函数内部使用全局变量

使用只需要在局部变量前加上global保留字即可。

在这里插入图片描述

局部变量为组合数据类型且未创建,等同于全局变量

在这里插入图片描述

函数中没有使用 [ ] 来真是创建,那么这个函数中的变量会被认为是全局变量,即外部的列表ls,然后又调用了函数在列表中增加一个元素,因此最后结果是 [‘F’,‘f’,‘C’ ]。

在这里插入图片描述

这里面使用了 [ ] 来真实创建了列表,因此它会被认为是一个局部变量。

局部变量运行完成就释放了。

组合数据类型在函数内部没有被真实创建,且与全局变量名字相同,那他就是一个全局变量。反之,要是它被真实创建那么它就是函数里的一个局部变量,一次性的,用完释放,节省空间。实际上Python隐藏了指针,用指针就很好理解,C指针。

使用规则

  • 基本数据类型,无论是否重名,局部变量与全局变量不同

  • 可以通过global保留字在函数内部声明全局变量

  • 组合数据类型,如果局部变量未真实创建,则是全局变量


lambda函数


lambda函数返回函数名作为结果

  • lambda函数是一种匿名函数,即没有名字的函数

  • 使用lambda保留字定义,函数名是返回结果

  • lambda函数用于定义简单的、能够在一行内表示的函数

<函数名> = lambda <参数>: <表达式>

#等价

def <函数名>(<参数>) :

<函数体>

return <返回值>

f = lambda x, y : x + y

print(f(10,20))

f = lambda : “Hello handsome”

print(f())

在这里插入图片描述

谨慎使用lambda函数

  • lambda函数主要用作一些特定函数或方法的参数

  • lambda函数有一些固定使用方式,建议逐步掌握

  • 一般情况,建议使用def定义的普通函数


在这里插入图片描述


自我介绍一下,小编13年上海交大毕业,曾经在小公司待过,也去过华为、OPPO等大厂,18年进入阿里一直到现在。

深知大多数Python工程师,想要提升技能,往往是自己摸索成长或者是报班学习,但对于培训机构动则几千的学费,着实压力不小。自己不成体系的自学效果低效又漫长,而且极易碰到天花板技术停滞不前!

因此收集整理了一份《2024年Python开发全套学习资料》,初衷也很简单,就是希望能够帮助到想自学提升又不知道该从何学起的朋友,同时减轻大家的负担。

img

img

img

img

img

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

e9.png)

img

既有适合小白学习的零基础资料,也有适合3年以上经验的小伙伴深入学习提升的进阶课程,基本涵盖了95%以上前端开发知识点,真正体系化!

由于文件比较大,这里只是将部分目录大纲截图出来,每个节点里面都包含大厂面经、学习笔记、源码讲义、实战项目、讲解视频,并且后续会持续更新

如果你觉得这些内容对你有帮助,可以扫码获取!!!(备注:Python)

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值