Python 函数大白话讲解!新手一次搞懂形参、*args、lambda

Python 函数大白话讲解!新手一次搞懂形参、*args、lambda
前言开始学 Python 的时候函数这块给我整懵了。 分不清形参实参看不懂*args和**kwargs匿名函数 lambda 也一头雾水。 今天用最简单的话来讲不整难懂术语代码全都能直接运行。1. 到底什么是函数简单说把重复要用的代码打包起来想用的时候直接喊它不用反复复制粘贴。分成两种自带函数print()、len()Python 内置好直接拿来用自定义函数自己用def造。def 函数名(参数): # 这里写代码 return 结果2. 形参和实参最简单区分def add(a, b): return a b add(10, 20)提醒 如果你的函数里面只有 print没写 return。调用这个函数的时候它会偷偷返回一个None。 之前咱们代码打印多出一行 None就是这个原因3. 四种参数类型挨个看懂参数顺序不能乱位置参数 → 默认参数 → *args → **kwargs① 位置参数传入的数据按顺序挨个匹配顺序不能乱。def info(name, age): print(name, age) info(小王, 19)② 关键字参数info(age19, name小王)位置参数必须写在关键字参数前面不能混着乱写报错。③ 默认参数定义函数的时候直接给参数填好值如果调用不传这个参数自动用默认值。def info(name, age18): print(name, age) info(小李) # 不写age自动age18 info(小李,20) # 传了新数字覆盖默认值④ 可变参数 *args 和 **kwargsdef test(a, b10, *args, **kwargs): print(a) print(b) print(args) print(kwargs) test(1, 2, 3, 4, name小明, gender男)运行结果 a1b2args(3,4)kwargs{name:小明,gender:男}4. 匿名函数 lambda普通函数需要名字lambda 不用适合很短的一行逻辑。 语法lambda 参数:表达式# 普通函数 def add(x,y): return xy # 等价lambda f lambda x,y:xy print(f(1,2))限制 只能写一行表达式不能写循环、多行 if复杂逻辑老老实实写 def。5. return 到底干嘛的把函数内部的数据传到外面一旦执行 return函数直接结束后面代码不再运行。没有 return默认返回None。