news 2026/5/12 15:33:19

【Python入门篇】初识函数(function)

作者头像

张小明

前端开发工程师

1.2k 24
文章封面图
【Python入门篇】初识函数(function)

函数用于保存常用功能代码,便于后续重复使用。变量保存数据,函数保存代码。优点包括结构清晰便于修改,有效减少重复代码。

基础内置函数

Python内置常用功能函数:

  • 基础函数:print(输出)、input(输入)、type(获取数据类型)、len(获取容器长度)
  • 序列/散列操作:appendremoveinsertpopindex
  • 类型转换:intfloatlist
  • 数值计算:min(最小值)、max(最大值)、sum(总和)

平均值可通过sumlen组合实现:

num = (10, 20, 30) print(f'最大值为{max(num)}') print(f'最小值为{min(num)}') print(f'总和为{sum(num)}') print(f'平均值为{sum(num)/len(num)}')

函数基本使用

函数使用分为声明与调用:

# 声明 def 函数名(): 代码 def fun(): print('多喝热水') # 调用方式 fun() # 直接调用 print(fun) # 输出函数地址 a = print # 函数赋值 a('输出测试') # 通过变量调用

命名规则与变量类似:由字母/数字/下划线组成,避开关键字,见名知意。

函数参数

参数分为形参(定义占位)和实参(调用时传入):

def 函数名(参数): 代码 def greet(name): print(f'你好,我叫{name}') greet('刘德华') # 实参替换形参

参数进阶

  1. 必备参数:形参与实参数量必须匹配
def fun(name, food): print(f'我是{name},今天吃了{food}') fun('孙悟空', '蟠桃') # 正确 fun('小学生') # 报错:缺少参数
  1. 默认参数:定义时为参数赋默认值
def fun2(name, age=18): print(f'我叫{name},今年{age}岁') fun2('小刘') # 使用默认值 fun2('朝暮', 20) # 覆盖默认值
  1. 不定长参数(元组形式):接收任意数量参数
def fun3(*args): print(args) # 输出为元组 fun3(666, True, [1,2,3])
  1. 不定长参数(字典形式):接收键值对参数
def fun4(**kwargs): print(kwargs) # 输出为字典 fun4(数学=90, 职业='工程师')

返回值(return)

函数通过return返回结果:

def add(num1, num2): return num1 + num2 result = add(123, 456) print(result) # 输出579

特性:

  • 默认返回None
  • 可返回多值(任意类型)
  • return后代码不执行
  • 可结合条件返回不同结果

文档字符串

函数内用三引号编写的说明文档,可通过__doc__访问:

def fun(): """ 功能说明:输出问候语 参数:无 返回值:无 """ print('多喝热水') print(fun.__doc__) # 输出文档内容

高内聚低耦合原则

  • 高内聚:函数功能单一专注
  • 低耦合:减少函数间不必要的依赖

示例对比

# 低内聚写法(不推荐) def calculator(): # 混合所有功能 add() subtract() # 一处出错影响整体 # 高内聚写法(推荐) def add(): pass # 独立功能 def subtract(): pass # 独立功能

优势:模块化设计便于维护,错误隔离性强。

版权声明: 本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若内容造成侵权/违法违规/事实不符,请联系邮箱:809451989@qq.com进行投诉反馈,一经查实,立即删除!
网站建设 2026/5/12 15:32:50

光伏工程选型分析:双轴跟踪系统如何解决固定式电站效率瓶颈?

在光伏工程落地与技术迭代中,支架跟踪方案的选型,直接决定电站的有效发电时长、工况适配能力与全生命周期运维成本。现阶段分布式光伏、户外复杂工况光伏、长效智慧电站项目持续增多,传统固定式光伏支架的技术局限性逐步凸显,已经…

作者头像 李华
网站建设 2026/5/12 15:31:51

ARM A64指令集:MSR与MUL指令深度解析

1. A64指令集基础概述A64指令集作为ARMv8-A架构的64位指令集,在现代计算领域扮演着重要角色。不同于传统的32位ARM指令集,A64提供了更宽的寄存器、更大的地址空间和更高效的指令流水线设计。作为处理器与软件交互的核心接口,A64指令集的设计直…

作者头像 李华
网站建设 2026/5/12 15:31:36

半导体巨头选址背后的技术博弈:从450mm晶圆到地缘政治

1. 项目概述:一场关于芯片制造版图迁移的行业猜想最近在翻看一些老资料,2012年底的一篇行业报道又把我拉回了那个充满变数的年代。报道的核心是一个代号为“Project Azalea”的神秘项目,以及一个在当时看来颇为大胆的猜想:全球晶圆…

作者头像 李华
网站建设 2026/5/12 15:29:05

Super IO插件终极指南:5分钟掌握Blender文件处理革命

Super IO插件终极指南:5分钟掌握Blender文件处理革命 【免费下载链接】super_io blender addon for copy paste import / export 项目地址: https://gitcode.com/gh_mirrors/su/super_io Super IO是一款彻底改变Blender工作流程的革命性插件,它通…

作者头像 李华
网站建设 2026/5/12 15:25:20

技术如何重塑传统工业城镇:从人才培育到生态构建的转型实践

1. 从锈带到“智”带:一座美国中西部小镇的技术重生之路 我是在密歇根州卡拉马祖长大的。在我小时候,这个州的脉搏是由底特律的引擎声带动的——那个汽车工业的黄金时代,Motown音乐风靡全球,底特律老虎队刚赢得世界大赛冠军。那时…

作者头像 李华
网站建设 2026/5/12 15:25:17

终端AI助手gpt-cli:命令行集成ChatGPT与Bard的完整指南

1. 项目概述:一个为终端爱好者打造的AI对话利器 如果你和我一样,是个离不开终端的开发者或技术爱好者,每天在命令行里敲敲打打,那你肯定也遇到过类似的困扰:想快速查个代码片段、让AI帮忙解释个错误,或者只…

作者头像 李华