news 2026/6/10 18:22:05

Python全栈入门到实战【基础篇 15】函数基础:内置函数调用 + 自定义函数(定义/参数/返回值)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
Python全栈入门到实战【基础篇 15】函数基础:内置函数调用 + 自定义函数(定义/参数/返回值)

哈喽各位小伙伴!前面咱们吃透了循环、条件判断、复合数据类型,能写出处理单一任务的代码——但实际开发中常会遇到这样的问题:

  • 验证手机号格式的逻辑,在“用户注册”和“数据清洗”场景都需用到,重复编写不仅冗余,修改时还需同步更新多处;
  • 计算成绩等级的规则调整后,所有涉及该逻辑的代码都要逐一修改;
  • 代码规模扩大后,循环与判断语句交织,排查问题时需逐行检索,维护成本极高。

这些问题的核心,是缺少“代码封装复用”的能力——而Python的函数(Function)正是解决该问题的核心方案。函数能将“完成特定功能的代码段”封装为可调用模块,使用时仅需一行代码调用,无需重复编写逻辑,如同将常用工具收纳于工具箱,取用便捷且结构清晰。

本节将系统讲解函数的核心用法,覆盖内置函数与自定义函数的全场景应用:

  • 内置函数:Python自带的基础工具集(len()/range()/enumerate()等);
  • 自定义函数:封装专属业务逻辑(定义语法、参数设计、返回值处理);
  • 函数参数:位置参数、关键字参数、默认参数、可变参数(覆盖绝大多数开发场景);
  • 核心特性:作用域规则、返回值机制、函数调用流程;
  • 常见问题:参数传递错误、返回值遗漏、作用域混淆等问题的解决方案。

掌握函数的使用,能让代码从“零散执行”升级为“模块化复用”,大幅提升代码的简洁性与可维护性。

文章目录

  • 一、前置引入:为什么需要函数?
  • 二、基础中的基础:内置函数(Python自带的“工具集”)
    • 1. 基础操作类(高频使用)
      • 示例:基于内置函数的简单交互
    • 2. 序列操作类(处理列表/字符串常用)
      • 示例:基于内置函数的成绩分析
    • 3. 类型转换类(解决类型不匹配问题)
      • 示例:解决类型不匹配问题
    • 4. 内置函数调用规则
  • 三、核心重点:自定义函数(封装专属逻辑)
    • 1. 自定义函数的定义语法
      • 各部分说明
      • 完整示例:成绩等级判断函数
    • 2. 函数的核心要素:参数(输入数据)
      • (1)位置参数(基础类型)
        • 示例:两数求和函数
      • (2)关键字参数(增强可读性)
        • 示例:用户信息打印函数
      • (3)默认参数(可选输入)
        • 示例:带默认值的成绩等级判断
      • (4)可变参数(灵活接收多参数)
        • 示例1:`*args`实现任意个数求和
        • 示例2:`**kwargs`实现任意用户信息打印
    • 3. 函数的核心要素:返回值(输出结果)
      • (1)无返回值(默认返回None)
        • 示例:无返回值函数
      • (2)返回单个值
        • 示例:计算圆的面积
      • (3)返回多个值
        • 示例:计算矩形的周长与面积
      • (4)`return`终止函数执行
    • 4. 函数的调用
      • 完整流程示例:手机号验证函数
  • 四、函数的核心特性:作用域(变量生效范围)
    • 1. 局部作用域(函数内部)
        • 示例:局部变量的作用域
    • 2. 全局作用域(函数外部)
      • (1)读取全局变量
      • (2)修改全局变量(需`global`声明)
      • 注意:避免局部变量与全局变量同名
  • 五、常见问题与解决方案
    • 1. 参数数量/类型不匹配
        • 错误示例与修正
    • 2. 遗漏返回值
        • 错误示例与修正
    • 3. 修改全局变量未声明`global`
    • 4. 默认参数使用可变类型
        • 错误示例与修正
    • 5. 函数名重复
  • 六、实战案例:用户信息管理工具(函数版)
  • 七、总结
  • 八、专栏订阅

一、前置引入:为什么需要函数?

没有函数的编程模式,如同使用散装零件完成任务——每次实现特定功能都需重新组合代码片段;而函数则是将零件组装成的标准化工具,一次封装即可反复使用。

用一个生活例子帮你理解:你经常需要 “切水果”,如果没有工具,每次都要找刀、洗刀、切水果、洗刀,步骤重复又麻烦;但你买了一个 “切水果机”(函数),以后要切水果时,只需把水果(参数)放进去,按一下开关(调用函数),机器就会自动完成切水果的步骤,最后给你切好的水果(返回值)。

函数的核心价值体现在三个维度:

  1. 代码复用:相同逻辑仅需编写一次,通过函数调用在多场景复用,避免重复编码(如手机号验证逻辑封装后,注册、数据清洗场景可直接调用);
  2. 模块化开发:将复杂任务拆解为多个单一功能的函数(如用户管理系统拆分为“添加/查询/删除”函数),代码结构清晰,便于分工协作与问题定位;
  3. 易维护性:逻辑修改仅需更新函数内部实现,所有调用处自动生效(如调整成绩等级判定规则时,仅需修改get_score_level()函数)。

通过以下对比可直观感受函数的优势:

# 无函数:重复编写成绩等级判断逻辑(冗余且维护成本高)score1=
版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/6/10 8:11:23

从代码助手到AI工程师:Claude Code创始人亲授 10 条进阶秘籍

从代码助手到AI工程师:Claude Code创始人亲授 10 条进阶秘籍 作者:Boris Cherny(Claude Code 创始人) 发布时间:2026年2月2日 🚀 引言:告别“代码搬运”,开启 AI 工程师时代 大多…

作者头像 李华
网站建设 2026/6/10 8:08:24

深入浅出 权限系统设计

一、概念解释 先来看看权限系统设计常见的一些概念:ACL、DAC、MAC、ABAC 和 RBAC。 1. 访问控制列表 (ACL) ACL 是一组规则,用于指定哪些用户被授予或拒绝访问特定资源的权限。 优点 - 易于理解。缺点 - 易出错,维护成本高 2. DAC&#x…

作者头像 李华
网站建设 2026/6/10 8:09:42

全球算力供需缺口持续扩大,算力供给紧张,成为2026年主线

摘要:2026年全球算力供需缺口持续扩大,海外CSPs资本支出预计突破6000亿美元(yoy40%),微软、Meta等巨头饱和式投入基建,CPO、液冷、高速光模块等产业链环节迎来规模化爆发,A股核心标的业绩已率先…

作者头像 李华
网站建设 2026/6/10 8:14:04

“白箱认知模型”宣言:基于D-O-S框架的认知共生系统建构

“白箱认知模型”宣言:基于D-O-S框架的认知共生系统建构摘要本文旨在系统阐述并深化岐金兰“AI元人文构想”的终极技术-社会愿景:在由垄断性大型语言模型所构筑的、不透明的“认知黑箱”生态之侧,构建一个开放的、可审计的、可干预的“白箱认…

作者头像 李华
网站建设 2026/6/10 9:49:51

【2025最新】基于SpringBoot+Vue的和智慧生活商城系统管理系统源码+MyBatis+MySQL

摘要 随着互联网技术的快速发展和智能设备的普及,智慧生活已成为现代社会的核心趋势之一。智慧生活商城系统作为连接消费者与智能产品的桥梁,不仅满足了用户对便捷购物体验的需求,还通过数据分析与个性化推荐提升了用户粘性。该系统整合了智能…

作者头像 李华
网站建设 2026/6/10 9:52:58

DDoS 攻击深度解析:原理拆解与企业级防护方案实战

DDoS攻击(分布式拒绝服务攻击)是当今互联网世界最常见、最具破坏性的网络攻击之一。本文将深入解析其原理、类型、动机及防御策略。 一、核心概念:用简单比喻理解DDoS 通俗比喻: 想象一家热门咖啡馆(你的网站/服务器…

作者头像 李华