python9函数

函数的定义:
def 函数名(参数1,参数2,参数3):
。。。注释。。。
函数体
return 返回值

函数在定义阶段只检测语法,不执行代码

调用函数
函数名()

理解:如果函数只是定义,没有执行,那么return会返回函数名字的内存地址。

在这里插入图片描述
定义函数的形式:
1.无参数
应用场景仅仅只是执行一些操作,比如与用户交互,打印
在这里插入图片描述
2.有参数
需要根据外部传进来的参数,才能执行相应的逻辑,比如统计长度,求最大值最小值
x,y代表形参在这里插入图片描述
什么叫形参,形参就是在定义函数的时候给的,当调用函数的时候,形参是什么值,函数体内的实参是什么值。
在这里插入图片描述
调用函数步骤总结:
函数的调用:函数名加括号
1 先找到名字
2 根据名字调用代码

无return -----none
return 1个值----------返回一个值
return多个值----------返回元组

什么时候该有返回值?
    调用函数,经过一系列的操作,最后要拿到一个明确的结果,则必须要有返回值
    通常有参函数需要有返回值,输入参数,经过计算,得到一个最终的结果
什么时候不需要有返回值?
    调用函数,仅仅只是执行一系列的操作,最后不需要得到什么结果,则无需有返回值
    通常无参函数不需要有返回值
    
注意:每次调用一次函数的时候都会从函数最开始的地方执行。想做到用生成器(yiled)
4种函数的类型
函数根据有没有参数,有没有返回值,可以相互组合,一共有4种:
无参数,无返回值
无参数,有返回值
有参数,无返回值
有参数,有返回值
在这里插入图片描述
函数的嵌套

def test1():
print(“this is func”)
def test2():
print(“this is func2”)
def test3():
print(“this is func3”)
test1()
test1()

*args的用法
#*args代表元组,可以传递多个变量

def test(*args):
print(args)

**kwargs的用法 字典
#**kwargs代表字段,要以key=value形式传入
def test(kwargs):
print(kwargs)
def test(a,b,c=33,args,**kwargs):
print(a)
print(b)
print©
print(args)
print(kwargs)
test(1,2,3,5,6,7,8,age = 99 ,name=‘zhangsan’)
如果传递了多余的参数(命名参数),多余参数不带变量名得传给
args,带变量名得传给
kwargs,并且以字典形式保存

test(a=1,b=2,c=3)

def test(*args,**kwargs):
print(args,kwargs)
test(1,2,3,a=4,b=5)

加了星号(*)的变量args会存放所有未命名的变量参数,args为元组;而加**的变量kwargs会存放命名参数,即形如key=value的参数, kwargs为字典。

匿名函数
#匿名函数,没有名字的函数,方便快捷,一次定义一次调用
def test(x,y):
return x + y
res = test(1,2)
print(res)

res = lambda x,y: x+y
print(res(1,2))
x,y相当于形参,x+y相当于实参
自带return

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值