python---函数的进阶

函数的进阶

1.8函数的进阶

1.8.1函数作为参数进行传入

1.简介:函数作为范围进行传递到函数中进行操作

2.函数作为参数传入到函数中

3.函数调用和逻辑传入之间的区别

  • 一个是作为数据进行传入,但是调用的函数时一定的
  • 一个作为逻辑进行调用,但是调用的数据时一定的

4.参考代码

# 函数传入函数

# 定义一个函数,接收另一个函数作为传入参数
def test_func(com):
    result=com(1,2)
    print(f"com计算的结果为:{result}")
    print(f"计算类型为,{type(com)}")

# 定义一个函数作为准备进行传入另外一个函数中
# a+b的函数
def add(a,b):
    return a+b;
# a-b的函数
def rem(a,b):
    return a-b;
# 调用,传入函数
test_func(add)
test_func(rem)

此时的函数是可以不固定的,内部的数据可以是固定的。传入的值就是函数的名称

1.8.2lambda匿名函数

  • def原先定义的函数是带有名称的
  • lambda定义的函数可以没有名称的

1.lambda函数定义的方式

3.采用匿名函数的方式定义函数

  • 只能临时使用一次。因为不带名字
  • def是带名字可以重复的进行使用的

好处:

  • 简洁
  • 方便

# lambda函数
def test_func(add):
    result=add(1,2)
    print(f"add的结果为,{result}")

# 采用匿名函数的方式定义add函数
# 前面是参数的定义,后面的是对应的函数的定义,注意点的点在于计算的逻辑必须是一行的
test_func(lambda x,y:x+y)

小结

1.8.3函数的多返回值

  • 多个逗号隔开,多个参数进行接收

1.基本的语法

2.案例

# 函数的多返回值
# 逗号分开
def func(a,b):
    return a+b,a-b,a*b,a/b
a,b,c,d=func(1,2)
print(a)
print(b)
print(c)
print(d)


1.8.4函数的多种传参方式

1.位置参数

  • 就是根据参数的位置进行传递参数的值,这个就是函数最基本的使用的方式

2.关键字参数

  • 可以不受位置的限制
  • 键值对的形式进行参数的传递
  • 必须在最后一位,注意。
  • 对于没有指定的位置的参数可以自己任意的进行指定的

# 参数的传递的方式
def func(name,age ,gender):
    print(f"{name},今年,{age},岁,性别,{gender}")

# 默认的方式
func("小米",20,"男")

# 关键字参数
# 不受到顺序的限制
func(age=20,gender="男",name="小米")

# 关键字和默认的混用
func("小米",20,"男")

# 设置函数的默认值
def func(name,age ,gender="男"):
    print(f"{name},今年,{age},岁,性别,{gender}")

4.不定长的参数

  • 默认的就是元组的形式

# 位置的不定长
# 采用的是元组的不定长的形式
def test(*args):
    print("位置不定长的参数:",end='')
    print(args)
    print(f"类型是,{type(args)}")
test(1,2,3,4)

#关键字的不定长
# 采用的是字典的不定长的传入的形式

def testx(**x):
    print("位置不定长的参数:",end='')
    print(f"类型是,{type(x)}")
    print(x)
testx(id=1,name='张三',age=12,sex='男')

小结:

猜你喜欢

转载自blog.csdn.net/weixin_41957626/article/details/129781847