Python函数:从定义到实战的全面解析

发布时间:2026/7/4 3:19:58

Python函数:从定义到实战的全面解析 Python函数从定义到实战的全面解析在Python编程中函数是组织代码、提高复用性和可读性的核心工具。本文将带你从零开始系统学习Python函数的定义、参数体系、返回值、作用域、常用内置函数以及匿名函数。一、函数定义def关键字在Python中使用def关键字来定义一个函数。基本语法如下def函数名(参数列表):文档字符串可选用于说明函数功能# 函数体要执行的代码return返回值# 可选函数名遵循标识符命名规则建议使用小写字母和下划线如calculate_sum。文档字符串用三引号包裹用于描述函数的作用、参数和返回值是良好的编程习惯。函数体函数被调用时执行的代码块注意缩进。return用于返回结果如果没有return函数默认返回None。示例defgreet(name):向指定的人打招呼returnf你好{name}print(greet(小明))# 输出你好小明二、参数体系灵活传递数据Python函数的参数设计非常灵活支持多种传递方式。1. 位置参数调用函数时参数按照定义时的顺序依次传递。defintroduce(name,age):print(f我叫{name}今年{age}岁。)introduce(小红,25)# 输出我叫小红今年25岁。2. 关键字参数调用时通过参数名值的方式指定顺序可以任意。introduce(age30,name小刚)# 输出我叫小刚今年30岁。3. 默认参数在定义函数时为参数指定默认值调用时如果未提供该参数则使用默认值。defgreet(name,greeting你好):print(f{greeting}{name})greet(小丽)# 输出你好小丽greet(小强,早上好)# 输出早上好小强注意默认参数必须放在位置参数之后。4. 可变参数当不确定函数会接收多少个参数时可以使用可变参数。*args接收任意数量的位置参数打包成一个元组。**kwargs接收任意数量的关键字参数打包成一个字典。defsum_all(*args):计算所有传入数字的和total0fornuminargs:totalnumreturntotaldefshow_info(**kwargs):显示传入的关键字信息forkey,valueinkwargs.items():print(f{key}:{value})print(sum_all(1,2,3,4,5))# 输出15show_info(name小华,age28,city北京)# 输出# name: 小华# age: 28# city: 北京三、返回值return的妙用return语句用于结束函数并返回一个或多个值。1. 单返回值直接返回一个对象。defsquare(x):returnx*x resultsquare(5)# result 252. 多返回值Python允许同时返回多个值它们会被自动打包成一个元组。defget_user():name小芳age22city上海returnname,age,city user_name,user_age,user_cityget_user()print(user_name,user_age,user_city)# 输出小芳 22 上海四、作用域变量的可见范围变量的作用域决定了它在程序中的有效范围。局部变量在函数内部定义的变量只能在函数内部访问。全局变量在函数外部定义的变量可以在整个程序范围内访问。global关键字如果需要在函数内部修改全局变量的值必须使用global关键字声明。count0# 全局变量defincrement():globalcount# 声明要修改全局变量count1increment()print(count)# 输出1注意在函数内部直接读取全局变量是允许的但修改时必须用global。五、常用内置函数开箱即用的工具Python提供了许多实用的内置函数以下是一些最常用的函数功能示例len()返回对象字符串、列表、元组等的长度len(Python)→ 6max()返回可迭代对象中的最大值max([3, 7, 2])→ 7min()返回可迭代对象中的最小值min([3, 7, 2])→ 2sum()对可迭代对象中的元素求和sum([1, 2, 3])→ 6sorted()返回排序后的新列表默认升序sorted([3, 1, 2])→ [1, 2, 3]示例numbers[5,2,8,1,9]print(len(numbers))# 5print(max(numbers))# 9print(min(numbers))# 1print(sum(numbers))# 25print(sorted(numbers))# [1, 2, 5, 8, 9]print(sorted(numbers,reverseTrue))# [9, 8, 5, 2, 1] 降序六、匿名函数lambda表达式lambda是一种简洁的、一次性使用的匿名函数通常用于需要一个简单函数但不想用def正式定义的情况。语法lambda参数列表:表达式lambda函数只能包含一个表达式不能包含语句如if、for等。表达式的结果就是返回值。示例# 普通函数defadd(x,y):returnxy# 等价的 lambda 函数add_lambdalambdax,y:xyprint(add(3,5))# 8print(add_lambda(3,5))# 8常见用法与sorted()等函数配合students[{name:小明,score:85},{name:小红,score:92},{name:小刚,score:78},]# 按分数升序排序sorted_studentssorted(students,keylambdas:s[score])print(sorted_students)# 输出[{name: 小刚, score: 78}, {name: 小明, score: 85}, {name: 小红, score: 92}]总结定义函数使用def关键字。参数体系位置参数、关键字参数、默认参数、可变参数*args和**kwargs。返回值单返回和多返回。作用域局部变量、全局变量与global关键字。内置函数len()、max()、min()、sum()、sorted()等。匿名函数lambda表达式的基础用法。函数是Python编程的基石熟练运用它们将让你的代码更加优雅、高效。

相关新闻