Python 核心语法四—— 函数初始Python篇 进阶版2026 年最新基于 Python 3.12/3.13这是 Python 中最重要、最灵活、最容易被面试深挖的核心语法之一。掌握本篇后你就能写出优雅、可复用、高性能的 Python 代码。1. 函数基础语法必须手敲 3 遍def函数名(参数列表):函数文档字符串docstring—— 强烈推荐写# 函数体return返回值# 可省略返回 None最简单例子defgreet(name):向某人问好print(f你好{name})returnf问候完成{name}# 调用resultgreet(张三)print(result)2. 函数参数的 5 种传递方式重中之重面试必考1位置参数最常见defpower(base,exponent):returnbase**exponentprint(power(2,3))# 82默认参数面试高频defgreet(name,greeting你好):print(f{greeting}{name})greet(李四)# 你好李四greet(王五,早上好)# 早上好王五重要规则默认参数必须放在普通参数后面且默认值只在定义时计算一次坑3关键字参数keyvaluedefstudent(name,age,city北京):print(name,age,city)student(age18,name张三)# 顺序可以乱写4可变位置参数*args最灵活defadd(*numbers):returnsum(numbers)print(add(1,2,3,4,5))# 15print(add(10,20))# 305可变关键字参数**kwargsdefperson_info(**info):forkey,valueininfo.items():print(f{key}:{value})person_info(name张三,age18,city上海,hobby编程)混合使用顺序规则必须记住deffunc(a,b,*args,c10,**kwargs):pass# 顺序普通参数 → *args → 默认参数 → **kwargs3. 返回值与多返回值Python 特色defcalculate(a,b):returnab,a-b,a*b,a/b# 自动打包成 tuplesum_,diff,mul,divcalculate(10,3)print(sum_,diff,mul,div)4. 作用域LEGB 规则—— 面试必问Python 查找变量顺序L → E → G → Bx100# Globaldefouter():x50# Enclosing闭包作用域definner():x10# Localprint(x)# 10inner()print(x)# 50outer()print(x)# 100global 与 nonlocal修改外部变量x0defcounter():globalx# 声明使用全局变量x1returnxdefouter():count0definner():nonlocalcount# 修改外层函数的变量count1returncountreturninner5. 高级函数特性Pythonic 精华1lambda 匿名函数一行函数addlambdax,y:xyprint(add(3,5))# 8# 常用场景排序、过滤、mapstudents[(张三,85),(李四,92),(王五,78)]students.sort(keylambdax:x[1],reverseTrue)2map、filter、reduce函数式编程nums[1,2,3,4,5]# map对每个元素应用函数squareslist(map(lambdax:x**2,nums))# [1,4,9,16,25]# filter筛选evenslist(filter(lambdax:x%20,nums))# [2,4]# reduce需从 functools 导入fromfunctoolsimportreducetotalreduce(lambdax,y:xy,nums)# 153递归函数经典deffactorial(n):ifn1:return1returnn*factorial(n-1)print(factorial(5))# 1206. 装饰器Decorator—— Python 最优雅的特性之一importtimedeftimer(func):计时装饰器defwrapper(*args,**kwargs):starttime.time()resultfunc(*args,**kwargs)endtime.time()print(f{func.__name__}执行耗时:{end-start:.4f}秒)returnresultreturnwrappertimerdefslow_function():time.sleep(1.5)print(函数执行完成)slow_function()7. 一句话总结面试 30 秒版“Python 函数支持位置参数、默认参数、*args、**kwargs 四种参数类型返回值可多个自动打包 tuple。变量查找遵循 LEGB 规则可用 global/nonlocal 修改作用域。lambda、map/filter/reduce、装饰器、递归是 Python 函数式编程的精髓。”本篇结束你已经系统掌握了 Python 函数的所有核心知识下一讲预告初始Python篇 第五讲模块module与包package__name__ __main__的真正含义常用标准库os、sys、datetime、random、json 等包管理与虚拟环境想现在就看下一讲吗直接回复以下任意关键词我立刻发出下一讲→ 模块与包详解练习题→ 30 道函数专属练习 面试真题带答案装饰器→ 深入装饰器原理 多层装饰器 类装饰器项目→ 用函数写一个完整学生管理系统继续加油你现在离写出专业级 Python 代码只差最后几步了