大家好,欢迎来到100 天精通 Python系列第 6 天。
前面我们已经学会了顺序、条件、循环三大逻辑,今天开始学习代码复用的核心 —— 函数。
学会函数,你就能把重复代码封装起来,让程序结构更清晰、更易维护,真正写出模块化代码。
一、什么是函数?
简单理解:函数是一段具有特定功能、可重复使用的代码块。
Python 中函数分为:
- 内置函数:
print()、input()、len() 等
二、函数基础语法
1. 定义函数
使用 def 关键字:
def 函数名(参数): 函数体 return 返回值
def say_hello(): print("Hello Python")
三、函数参数
1. 无参函数
def print_info(): print("学习Python")
def add(a, b): print(a + b)add(3, 5) # 调用
3. 位置参数
按顺序传递:
def info(name, age): print(name, age)info("张三", 18)
4. 关键字参数
指定名字传参,顺序无关:
5. 默认参数
不传参时使用默认值:
def info(name, age=18): print(name, age)info("小明") # age 自动为18
6. 可变参数 *args
接收任意多个位置参数,打包成元组:
def func(*args): print(args)func(1,2,3,4)
7. 关键字可变参数 **kwargs
接收任意多个关键字参数,打包成字典:
def func(**kwargs): print(kwargs)func(name="张三", age=18)
四、函数返回值 return
1. 单个返回值
def add(a, b): return a + bres = add(2,3)print(res)
2. 多个返回值
返回多个值,自动打包成元组:
def get_info(): return "张三", 18name, age = get_info()
3. 无 return 或 return 后无值
返回 None
五、变量作用域
1. 局部变量
函数内部定义,只能在内部使用。
2. 全局变量
函数外部定义,整个文件可用。函数内部要修改需加 global:
num = 10def func(): global num num = 20func()print(num) # 20
3. nonlocal 关键字
用于嵌套函数,修改外层函数变量:
def outer(): count = 0 def inner(): nonlocal count count += 1 inner() print(count)
六、函数高级用法
1. 函数作为参数传递
def add(a,b): return a+bdef calc(func, x,y): return func(x,y)print(calc(add, 3,5))
2. 匿名函数 lambda
简单函数一行写完:
f = lambda a,b: a+bprint(f(2,3))
list1 = [1,2,3,4]list2 = list(map(lambda x:x*2, list1))
3. 递归函数
函数自己调用自己:
def factorial(n): if n == 1: return 1 return n * factorial(n-1)print(factorial(5)) # 120
七、常用内置函数小汇总
len():长度type():类型range():生成序列map():映射filter():过滤sorted():排序max/min/sum:最大、最小、求和
八、综合案例
案例 1:计算器函数
def calculator(a, b, op): if op == "+": return a + b elif op == "-": return a - b elif op == "*": return a * b elif op == "/": return a / bprint(calculator(10, 2, "+"))
def sum_n(n): total = 0 for i in range(1, n+1): total += i return totalprint(sum_n(100))
九、今日小结
- 参数:必选、默认、可变参数
*args、关键字参数**kwargs - 作用域:局部、全局、
global/nonlocal
掌握函数,你就正式迈入模块化编程的大门。