Python函数基础:从定义到return返回值详解

Ruby
Ruby
发布时间:2026-10-12| 2人浏览过
原创

本文详解Python函数的基本概念、定义方法及调用方式。涵盖无参函数与有参函数的区别,通过形实参类比解释参数传递机制,并深入剖析return语句如何返回结果及控制函数执行流程,帮助初学者掌握函数核心用法。

一、什么是函数

需注意,编程中的函数与数学领域的函数概念存在差异,切勿混淆。

那么,究竟什么是函数?

在程序开发中,当遇到大量重复使用的代码块时,我们可以将其封装为一个独立的代码单元,并赋予一个标识符名称。该名称需严格遵循标识符的命名规则。

函数的主要优势在于消除代码冗余,从而显著提升开发效率。

举例说明:假设我们需要程序输出特定的情感表达内容,例如以下这段文字

"我爱你" "我要给你生猴子" "啊啊啊,好喜欢你"

依据此前所学知识,直接逐行使用print()函数即可实现输出。

然而,若需求变为随时都能调用这段情感表达内容,该如何处理?

此时,使用循环结构可能并不合适,而引入函数则是更优的解决方案。

此外,Python内置了许多系统函数,而由用户自行编写的函数被称为自定义函数。

二、无参函数

无参函数是函数中最基础的形式,通常较少用于实际生产环境,多用于教学演示以辅助理解函数机制。

下面展示无参函数的定义方法。

def 函数名字():
    代码

接下来演示如何调用该无参函数。

函数名字()

将前述示例代码具体化。

# 定义
def Qinghua():
    print("我爱你")
    print("我要给你生猴子")
    print("啊啊啊,好喜欢你")
# 调用
Qinghua()

运行结果如下:

乍看之下,似乎看不出其显著优势。

实际上并非如此,请参考以下场景。

# 定义
def Qinghua():
    print("我爱你")
    print("我要给你生猴子")
    print("啊啊啊,好喜欢你")
# 调用
Qinghua()
for i in range(10):
    print("经过了{}秒".format(i))
    Qinghua()

该函数允许在任意时刻通过调用方式执行,无需重复编写代码。

其逻辑类似于变量,但函数的结构相对更为复杂。

三、有参函数

函数支持参数传递,参数类型分为形参(形式参数)和实参(实际参数)。

形参类似于公司中尚未有人担任的空缺职位(如清洁工、董事长等),只有当具体人员(实参)填补这些职位时,职能才能发挥作用。

定义有参函数时,需在括号内声明形参以预留接收位置;调用时,则需传入实际参数使函数生效。

以下是定义与调用的具体代码示例。

所谓“有参”,具体体现在何处?

在定义阶段,括号内的形参用于接收传入的数据。

在调用阶段,通过函数名后的括号传递实参。

四、实例

我们将定义一个有参函数,用于拼接两个参数并遍历输出结果。

def PinJie(a, b):
    str_ = str(a)+str(b)
    print(str_)
    for i in str_:
        print(i)

PinJie("sasa", 4564)
#也可以这么写
"""
PinJie(a="sasa",b=4564)
这样写的好处是
就算你的位置写错了
参数传递的也还是对的
也就是说,参数传递的位置不固定
就像这样
PinJie (b=4564, a='sasa')
是完全一样的
"""

运行效果如下:

五、return的使用

前文提及,return语句通常位于函数内部,其具体作用是什么?

根据字面意思理解:return意为“返回”。

确实如此,其核心功能是返回一个值(返回值)。

通过return xxx即可实现返回值的目的。此处返回的是xxx对象,至于xxx的具体类型,众所周知,它可以是任何数据类型。

返回值传递至函数调用处,即函数名字(参数)表达式中,该表达式的值即为返回结果。

具体示例如下。

观察上述函数,其展示了拼接后的结果,这里使用了print()内置函数进行输出。

现在尝试使用return语句。

def PinJie(a, b):
    str_ = str(a)+str(b)
    return str_
    for i in str_:
        print(i)

PinJie("sasa", 4564)

运行结果会如何?

答案是:屏幕上不会显示任何内容。

原因在于,我们并未使用print()函数(注:此处原文表述存在歧义,实际是因为return截断了执行流)。

解释如下:此前曾提到,return用于终止代码执行。若在函数中间位置使用return,其后的语句将不再执行,函数直接结束。

若希望显示循环结果,需将return置于函数末尾。读者可自行验证,此处不再赘述(旨在精简篇幅)。

前文指出,返回值被**函数名()**接收后成为一个具体值。若要显示该值,必须使用print()函数。

def PinJie(a, b):
    str_ = str(a)+str(b)
    return str_
    for i in str_:
        print(i)

p = PinJie("sasa", 4564)
print(p)

最终结果:

此时成功显示了返回值,即函数拼接后的字符串结果。

六、结语

内容暂且介绍至此,时间已晚。

兴趣是最好的老师,坚持是永恒的真理。 学习切忌急躁,应循序渐进,稳步前行。 每日进步一小步,日积月累之下,你将发现自己已具备强大实力。

至此,关于Python基础学习之简单理解函数的文章介绍完毕。更多Python函数相关内容,欢迎查阅本站往期文章或继续浏览后续教程,感谢大家的支持!

免责声明:本文内容仅供参考,不代表本站观点。转载或引用请注明出处。

Python 相关产品和应用

全部下载
Selenium

Selenium

4.51.0 · Windows

用于浏览器自动化和 Web 测试的 Python 工具。

scikit-learn

scikit-learn

1.9.1 · Windows

常用 Python 机器学习算法与模型评估工具库。

Black

Black

26.10.1 · Windows

强调一致性的 Python 自动代码格式化工具。

Ruff

Ruff

0.17.1 · macOS

由 Rust 编写的高速 Python 代码检查和格式化工具。

pytest

pytest

9.1.1 · Windows

简洁而强大的 Python 自动化测试框架。

FastAPI

FastAPI

0.146.0 · Windows

高性能 Python API 框架,支持类型提示和自动接口文档。

Flask

Flask

3.1.3 · Windows

轻量灵活的 Python Web 应用框架。

Django

Django

6.1.2 · Windows

成熟的 Python Web 框架,适合构建内容站点和业务系统。

Spyder

Spyder

6.1.7 · Windows

面向科学计算与数据分析的 Python 集成开发环境。

SciPy

SciPy

1.18.1 · Windows

面向科学、工程和技术计算的 Python 算法库。