python函数:定义,调用,返回值,参数类型,第一类对象使用

本文详细介绍了Python函数的定义、调用、返回值以及参数类型。函数作为Python中的第一类对象,能有效减少重复代码,提高代码重用性。文章通过实例解析了函数的固定结构、执行流程,强调了返回值的重要性,探讨了位置参数、关键字参数、混合参数的使用,以及动态位置参数(*args)和动态关键字参数(**kwargs)的接收方式。同时,提到了函数作为对象的特性,可以作为其他函数的参数、返回值或容器中的元素。

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

函数

  1. 函数能够大量的减少重复代码
  2. 函数能够大量的提高重用性
  3. 函数其实就是将咋们写的代码进行了一层封装

函数的定义

函数的定义

函数的固定结构:

def 函数名():

​ 函数体

函数定义后不调用是不会执行的

当函数不调用的时候,里面的函数体就是代码,什么都不做,可懒了

当函数执行完毕,自动进行销毁,又龟缩成了懒虫模式

函数的执行流程从上往下

函数被执行完就自动销毁了

函数的返回值:return – 返回

函数的调用

函数名()就是调用

  1. 调用函数
  2. 接收返回值

函数的返回值

返回值的目的:将需要使用的数据进行保留

返回值返回给了调用者(谁调用返回给谁)

return:不写时默认返回None;写了return,不写返回值返回的还是None

return:终止当前函数,并且return下方的代码不会执行

return:能够返回python中任何对象

return:返回多个对象时,以元组的形式返回

函数的参数

def func(接收参数的):

​ 函数体

位置传参:形参和实参必须一一对应

def func(a,b):
	pass
func(1,2)

关键字传参:指名道姓传参

def func(a,b):
    pass
fun(a = 1,b = 2)

混合参数:位置,默认

def func(a,b,c=1):
	pass
func(1,2)

动态位置参数:

*args就是接收多余的位置参数,以元组的形式显示

def func(*args):  #聚合
    print(args)
lst = [1,2,3,4,5,6,7,8,9]
func(lst)
结果:([1, 2, 3, 4, 5, 6, 7, 8, 9],)
对比:
def func(*args):
    print(*args) #解包  因为是以元组的形式显示的,但是当我们进行解包之后,就是把元组里面的值拿了出来
lst = [1,2,3,4,5,6,7,8,9]
func(lst)
结果:[1, 2, 3, 4, 5, 6, 7, 8, 9]

*args是程序猿之间约定俗称的,可以修改,但是不建议改

动态关键字参数:

**kwargs接收多余的关键字参数,以字典的形式显示

def func(**kwargs):
    print(kwargs)
func(a=1,b=2,c=3,d=4)
结果:{'a': 1, 'b': 2, 'c': 3, 'd': 4}

def func(**kwargs):
    print(*kwargs) #解包 将字典的键拆出来
func(a=1,b=2,c=3,d=4)
结果:a b c d

**kwargs是程序猿之间约定俗称的,可以修改,但是不建议改

函数体中打散只能用一个*

简单的函数参数:

形参:

1. 位置参数
2. 默认参数
3. 混合参数

实参:

  1. 位置参数
  2. 关键字参数
  3. 混合参数

传参:将实参传递给形参的过程叫做传参

位置和关键字参数(默认参数)摆放的位置有要求:

形参:

​ 位置参数>动态位置参数>默认参数>动态关键字参数

实参:

​ 位置参数>关键字参数

同一个参数名不能传递两次值

常用的:
#形参:
位置参数,*****
动态位置参数,****,
默认参数 ***,
动态关键字参数 ****
#实参:
位置参数 *****,
关键字参数 ***

返回值返回给了调用者

三元运算: 条件成立的结果 if 条件 else 条件不成立的结果

聚合

def func(*args,**kwargs): #聚合
    print(args)
    print(kwargs)
lst = [1,2,3,4]
func(*lst) #打散
结果:
(1, 2, 3, 4)
{}

函数名的第一类对象及使用

python中一切皆对象

  1. 当做另一个函数的参数

    def func():
        pass
    def foo():
        pass
    foo(func)
    
  2. 函数名可以当做值,被赋值

    a = 18
    def func():
        pass
    func = a
    print(func)
    
  3. 函数名可以当做另一个函数的返回值

    def func():
        pass
    def foo():
        return func()
    
  4. 函数名还可以当做容器中的元素

    def func():
    	pass
    lst = [func,func,func]
    
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

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

抵扣说明:

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

余额充值