Pyhon__学习笔记留痕__函数
一、变量作用域局部变量与全局变量函数内部定义的变量为局部变量仅函数内可访问函数外部定义的变量是全局变量全文件可读。2. global关键字在函数内部声明标识后续操作的变量为全局变量实现函数内修改全局变量。3. 全局变量使用规范开发中尽量减少全局变量过多会大幅提升代码维护、调试成本优先依靠函数参数、返回值完成数据传递替代全局变量global仅适用于全局状态、配置、计数器等少数场景。二、函数五大传参方式位置参数调用函数时实参顺序必须和形参定义顺序严格对应。优势书写简洁缺点参数多后可读性差、极易传参出错、维护成本高适用场景参数数量≤3个、参数顺序直观清晰的场景关键字参数调用时以 形参名值 格式传参参数顺序不受定义限制。优势代码可读性强方便后期维护扩展缺点代码书写偏冗长适用场景参数数量多、参数含义易混淆的场景混合传参规则位置参数与关键字参数混用位置参数必须写在前面关键字参数之间无顺序要求默认参数定义函数时直接给形参预设默认值调用时可省略该参数若主动传参则覆盖默认值。语法约束带默认值的参数必须放在无默认参数的末尾单函数可设置多个默认参数。不定长位置参数 *args用于参数数量不确定的场景接收所有位置实参自动封装为元组存储args只是行业约定变量名可自定义命名仅收集位置参数不捕获关键字参数。不定长关键字参数 **kwargs接收不定量关键字实参自动封装为字典存储场景区分*args 处理不确定数量的核心数据**kwargs 处理可选配置类参数。组合用法可同时定义 *args, **kwargs 兼容任意数量的位置、关键字参数。三、参数数据类型分类普通参数支持数字、字符串、容器类列表/元组/集合/字典等常规数据特殊参数函数本身可作为参数传入实现高阶函数逻辑。四、匿名函数 lambda基础定义无函数名的简易函数使用lambda表达式声明仅支持单行表达式逻辑语法特点无需书写return表达式执行结果自动作为返回值可无参、可多参数使用场景逻辑简单、仅单次调用的函数常作为高阶函数的入参简化代码书写取舍建议复杂多行逻辑不建议使用lambda可读性会大幅下降。递归逻辑实例练习