网站建设平台对比,广州网站建设公司哪家比较好,wordpress api ajax,网站建设要做哪些前期准备工作Python 的函数是代码复用的核心#xff0c;模块化编程是工程化开发的基础#xff0c;而内置模块则是 Python 生态的 “工具箱”—— 三者结合能让代码更简洁、可维护、高效。本文将从函数编程实战、模块化编程实践、常用内置模块探索三个维度#xff0c;通过实战案例讲解核心…Python 的函数是代码复用的核心模块化编程是工程化开发的基础而内置模块则是 Python 生态的 “工具箱”—— 三者结合能让代码更简洁、可维护、高效。本文将从函数编程实战、模块化编程实践、常用内置模块探索三个维度通过实战案例讲解核心用法帮助你构建高质量的 Python 代码。一、函数编程实战从基础到进阶函数是封装可复用逻辑的最小单元Python 的函数支持灵活的参数设计、高阶特性如闭包、装饰器是实现代码抽象的关键。1. 函数基础参数与返回值Python 函数的参数类型包括位置参数、关键字参数、默认参数、可变参数灵活运用可适应不同场景。1核心参数类型实战def calculate_score( name, # 位置参数必填 base_score60, # 默认参数可选 *bonus, # 可变位置参数接收多个值转为元组 **kwargs # 可变关键字参数接收多个键值对转为字典 ): 计算学生最终成绩基础分 各项加分 额外调整分 total base_score sum(bonus) # 处理额外调整分如考勤分、作业分 for key, value in kwargs.items(): total value return { name: name, total_score: total, details: f基础分{base_score}加分{sum(bonus)}额外调整{sum(kwargs.values())} } # 调用示例 result1 calculate_score(张三, 70, 10, 5, attendance3, homework2) result2 calculate_score(李四, bonus(8, 4), homework5) # 关键字传参 print(result1) # 输出{name: 张三, total_score: 90, details: 基础分70加分15额外调整5} print(result2) # 输出{name: 李四, total_score: 77, details: 基础分60加分12额外调整5}2关键注意点默认参数的陷阱默认参数在函数定义时初始化若使用可变对象如列表、字典会导致多次调用共享同一对象建议用None作为占位符。2. 函数进阶闭包与装饰器1闭包嵌套函数的变量捕获闭包是内部函数引用外部函数变量的特殊结构可实现 “数据封装” 和 “状态保留”。2装饰器函数的 “增强插件”装饰器是 Python 的语法糖用于在不修改原函数代码的前提下为函数添加额外功能如日志、计时、权限校验。实战 1计时装饰器统计函数执行时间import time def timer_decorator(func): 装饰器统计函数执行时间 def wrapper(*args, **kwargs): start_time time.time() result func(*args, **kwargs) end_time time.time() print(f函数 {func.__name__} 执行时间{end_time - start_time:.4f} 秒) return result return wrapper # 使用装饰器 timer_decorator def slow_function(n): 模拟耗时函数 time.sleep(n) return f等待了{n}秒 slow_function(1) # 输出函数 slow_function 执行时间1.0005 秒实战 2带参数的装饰器日志级别控制def log_decorator(levelinfo): 带参数的装饰器按级别输出日志 def decorator(func): def wrapper(*args, **kwargs): print(f[{level.upper()}] 函数 {func.__name__} 开始执行) result func(*args, **kwargs) print(f[{level.upper()}] 函数 {func.__name__} 执行完成) return result return wrapper return decorator # 使用带参数的装饰器 log_decorator(levelwarning) def process_data(data): return f处理了 {len(data)} 条数据 process_data([1,2,3]) # 输出 # [WARNING] 函数 process_data 开始执行 # [WARNING] 函数 process_data 执行完成3. 生成器函数节省内存的迭代器生成器函数通过yield关键字返回迭代器无需一次性加载所有数据适合处理大数据集。def generate_large_data(n): 生成器函数逐个生成0~n-1的数字节省内存 for i in range(n): yield i # 暂停执行返回当前值下次调用继续 # 实战遍历1000万条数据仅占用单个元素的内存 data_generator generate_large_data(10**7) for _ in range(5): print(next(data_generator)) # 0,1,2,3,4