函数定义需用def关键字,含合法名、参数和缩进函数体;同一文件内调用须定义在前;跨文件调用需import模块或指定函数;可加类型检查与异常处理;用__name__ == '__main__'控制执行范围。

如果您正在备考计算机二级Python考试,需要掌握函数的定义与调用规范,则可能是由于对语法结构、参数传递或模块间调用关系理解不清晰。以下是符合考试大纲要求的定义与调用方法:
一、使用def关键字定义函数
函数定义是Python程序结构化的核心,必须以def开头,后接合法函数名、圆括号及冒号,函数体需缩进且不可为空;可添加文档字符串说明功能,必要时用pass占位。
1、在代码编辑器中输入def关键字,后跟函数名称,例如def calculate_sum()。
2、在圆括号内声明参数,如def calculate_sum(a, b),支持无参、单参或多参形式。
3、在冒号后换行并缩进,编写函数体,例如return a + b;若暂无逻辑,写入pass避免语法错误。
4、在函数首行下方添加三重单引号包裹的文档字符串,例如'''计算两个数的和''',该内容可通过help(函数名)查看。
二、在同一文件内直接调用自定义函数
函数定义完成后,可在同一源文件中任意位置通过函数名加括号的方式调用,调用前必须确保定义已执行,即定义语句位于调用语句之前。
1、确认函数已正确定义,且未被注释或置于条件分支中未触发的位置。
2、在定义下方另起一行,输入函数名并填入对应数量与类型的实参,例如calculate_sum(3, 5)。
3、若函数有返回值,可用变量接收,例如result = calculate_sum(3, 5);若无return语句,返回值为None。
4、运行程序,观察控制台输出或变量值是否符合预期;若提示NameError,说明调用早于定义或函数名拼写错误。
三、跨文件调用自定义函数(模块导入法)
当函数定义在独立.py文件中时,需通过import机制引入,这是二级考试中常考的模块化编程考点,支持import模块名和from 模块名 import 函数名两种方式。
1、将函数保存为单独文件,如math_utils.py,文件名须为合法标识符,不含中文与特殊符号。
2、在主程序文件(如main.py)顶部使用import math_utils语句导入整个模块。
让 macOS 自动化像说话一样简单 —— 用代码控制你的 Mac,无需学习 AppleScript 系统要求 macOS 14+ (Sonoma) Python 3.9+ 需要开启:辅助功能 + 屏幕录制权限
3、调用时采用模块名.函数名()格式,例如math_utils.calculate_sum(3, 5)。
4、或改用from math_utils import calculate_sum导入指定函数,随后可直接调用calculate_sum(3, 5),无需加模块前缀。
四、带参数检查与异常处理的定义方式
为增强函数鲁棒性并符合二级考试高分要求,应在函数内部加入类型校验,防止因非法输入导致运行时错误,常用isinstance()判断数据类型。
1、在函数参数接收后立即添加类型判断,例如if not isinstance(a, (int, float)):。
2、使用raise语句抛出自定义TypeError,消息中明确提示错误类型,例如raise TypeError('参数a必须为数字类型')。
3、将校验逻辑置于函数体最前端,确保在执行运算前拦截非法输入。
4、测试时传入字符串、列表等非数字类型,验证是否准确触发异常而非产生TypeError: unsupported operand type等底层报错。
五、使用__name__ == '__main__'控制执行范围
该结构用于区分模块被导入与直接运行两种场景,在二级真题中频繁出现,可防止导入时意外执行测试代码。
1、在函数定义下方空一行,输入if __name__ == '__main__':并缩进。
2、在该条件块内编写仅在本文件直接运行时才执行的调用语句,例如print(calculate_sum(3, 5))。
3、当该文件被其他模块import时,__name__值为模块名(如'math_utils'),条件不成立,内部代码不执行。
4、运行本文件时,__name__值为'__main__',测试代码生效,便于本地调试又不影响模块复用。
Python免费学习笔记(深入):立即使用
在学习笔记中,你将探索 Python 的核心概念和高级技巧!










