Python函数定义、参数传递与返回值详解

温以宁
温以宁
发布时间:2026-10-14 | 2人浏览过
原创

本文详细解析Python函数的定义语法,包括def关键字、函数名及缩进规范。深入讲解位置参数、关键字参数、不定长参数(*args和**kwargs)的使用场景与区别,并阐述return语句对函数执行流程的控制及返回值机制,帮助开发者掌握函数核心应用。

如何定义一个函数

函数在Python中也常被称为方法,下面通过一个基础示例来展示其结构:


def function():
	print("我是函数。")

这是一个极简的函数,其唯一功能是打印输出字符串“我是函数。”。 从代码外观来看,该定义包含def关键字、function标识符、紧随其后的()括号以及:冒号。 其中,def是定义函数时必须使用的关键字,不可更改;function代表用户自定义的函数名称,可任意命名,但必须后接()括号和:冒号,这是Python的语法规定。 函数内部的执行语句称为函数体,所有函数体内的代码必须进行缩进处理,否则程序将抛出错误。

如何使用

调用函数的操作十分简单。


function()

只需重复输入函数名并加上括号,即可执行该函数。

什么是参数

接下来展示一个包含参数的函数定义:


def function(a,b):
	print(a,b)

在此函数定义中,括号内的变量a和b被称为参数(或形式参数)。参数的主要作用是向目标函数传入外部数据。

例如,该函数可以打印从外部传入的参数内容:


function("aaa","bbb")

向该函数传入两个具体值时,参数在调用时的位置是固定的。字符串“aaa”作为实际参数(实参),对应形式参数a;字符串“bbb”对应形式参数b。这一传入过程被称为参数传递。

最终的输出顺序如下:

aaa bbb

此外,还可以采用以下方式传递参数:


function(a="aaa","bbb")
function("aaa",b="bbb")
function(a="aaa",b="bbb")
function(b="bbb",a="aaa")

当定义的函数包含参数时,调用时必须传入相应的参数,否则程序会报错。例如:


def function(a):
	print(a)

function()

运行结果:

TypeError Traceback (most recent call last) <ipython-input-1-1ea14deaa8c8> in <module> 2 print(a) 3 ----> 4 function()

TypeError: function() missing 1 required positional argument: 'a'

不定长参数

如果无法确定传递的参数数量,该如何处理? 可以使用*和**来实现。

带有*前缀的参数会以元组(tuple)的形式接收所有未命名的变量参数,例如:


def function(*args):
	print(args)
function(12,35,65)

运行结果:

(12, 35, 65)

观察输出结果可知,这是一个包含所有传入参数的元组。

带有两个星号**前缀的参数会以字典的形式接收参数;


def function(**kwargs):
	print(kwargs)
function(a=12,b=35,c=65)

此处传入的参数需要注意,必须是键值对形式。

当一个星号和一个双星号同时出现时,单星号参数必须位于双星号参数之前,例如:


def function(*args, **kwargs):
	print(args)
	print(kwargs)

return是干什么

如果函数内部出现return语句,表示函数执行到此结束,后续代码无论有多少均不再执行。此外,return会返回其后表达式的值,相当于将该值赋给函数调用处。例如:


def function():
	print("aa")
	return "aaa"
	print("bb")

print(function())

运行结果:

aa aaa

可以看出,return之后的语句并未执行函数即已退出,同时函数本身也拥有了返回值。

到此这篇关于python 函数的详解与应用范例的文章就介绍到这了,更多相关python 函数内容请搜索本站以前的文章或继续浏览下面的相关文章希望大家以后多多支持本站!

相关标签:

本站声明

本文内容仅供参考,不代表本站观点。转载或引用请注明出处。如发现内容问题,请通过联系我们页面反馈。

Python 相关产品和应用

全部下载

专题列表