关于python函数的建立、调用、传参、返回值详解

 更新时间:2023年07月13日 10:47:09   作者:小邑走天下  
这篇文章主要介绍了关于python函数的建立、调用、传参、返回值详解,Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写多次调用的目的,需要的朋友可以参考下

自定义函数

Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写多 次调用的目的。 1.创建函数 创建函数也称为定义函数,可以理解为创建一个具有某种用途的工具,使用 def 关键字实现,语法格式如下:

def functionname([parameterlist]):
	['''comments''']
	[functionbody]

参数说明:

  • functionname:函数名称,在调用函数时使用
  • parameterlist:可选参数,用于指定向函数中传递的参数。如果有多个参数,各参数间使用英文逗号分隔;如不指定,则表示该函数没有参数,在调用时,也不用指定参数。
  • “commcnts"”:可选参数,表示为函数指定注释,注释的内容通常是说明该函数的功能、要传递的参数的作用等,可以为用户提供友好提示和帮助的内容。
  • functionbody: 可选参数,用于指定函数体,即该函数被调用后,要执行的功能代码。如果函数有返回值,可以使用 rcturn 语句返回。如果函数只有函数体,可以使用 pass 语句作为占位符

调用函数

调用函数也就是执行函数。如果把创建的函数理解为创建一个具有某种用途的工具,那么调用函数就相当于使用该工具。调用函数的语法格式如下:

functionname([parametersvalue])

参数说明: functionname:要调用的函数名称,必须是已经创建好的。 parametersvaluc: 可选参数,用于指定各个参数的值。如果需要传递多个参数值,则各参数值间使用逗号分隔:如果该函数没有参数,则不用输入。

函数参数的传递

在调用函数时,大多数情况下,主调函数和被调用函数之间有数据传递关系,这就是有参数的函数形式。函数参数的作用是传递数据给函数使用,函数利用接收的数据进行具体的操作处理。函数参数在定义函数时放在函数名称后面的一对小括号中。

def functionname(a,b,c,d):

形参与实参

在使用函数时,经常会用到形式参数(形参)和实际参数(实参),两者都叫作参数 形式参数和实际参数在作用上的区别如下:

形式参数:在定义函数时,函数名后面括号中的参数为“形式参数”,也称形参

实际参数:在调用一个函数时,函数名后面括号中的参数为“实际参数”。也就是将函数的调用者提供给函数的参敏称为实际参敏,也称实参。

根据实参的类型不同,可以分为将实参的值传递给形参,和将实参的引用传递给形参两种情况。其中,当实参为不可变对象时,进行的是值传递;当实参为可变对象时,进行的是引用传递。

实际上,值传递和引用传递的基本区别就是,进行值传递后,改变形参的值,实参的值不变:而进行引用传递后,改变形参的值,实参的值也一同改变。

位置参数

位置参数也称必备参数,必须按照正确的顺序传到函数中。即调用时的数量和位置必须和定义时的一样。

在调用函数时,指定的实参数量必须与形参数量一致,否则将抛出 TypeError 异常,提示缺少必要的位置参数。

在调用函数时,指定的实参位置必须与形参位置一致,否则将产生以下两种结果:

(1) 抛出异常。如果指定的实参与形参的位置不一致,数据类型也不一致,那么就抛出异常。

(2)不抛出异常,但是得到的结果与预期不-致。如果指定的实参与形参的位置不一致,数据类型一致,那么就不会抛出异常,但是得到的结果与预期不一致

函数返回值

可以在函数体内使用 retum 语句为函数指定返回值。该返回值可以是任意类型,并且无论 return 语句出现在函数的什么位置,只要执行,就会直接结束函数的执行。retumn 语句的语法格式如下:

result = return [value]

result:用于保存返回结果,如果返回一个值,那么result 中保存的就是返回的一个值,该值可以是任意类型。

如果返回多个值,那么result 中保存的是一个元组。

value:可选参数,用于指定要返回的值,可以返回一个值,也可以返回多个值。

局部变量

局部变量是指在函数内部定义并使用的变量,它只在函数内部有效。 即函数内部的名字只在函数运行时才会创建,在函数运行之前或之后,所有的名字都不存在。

局部变量只能在函数内部有效,在函数外部无效。如果在函数内部和外部都定义了一个同名的变量,那么它们代表了不同的变量值。 如果在函数外部没有定义变量,直接使用函数内部定义的变量,就会抛出 NameEr-ror 异常。

全局变量

在程序开发中,有时需要在函数外设定变量的初始值,然后在函数内访问、修改,这就需要定义全局变量。 我们把函数内外都可以访问的变量,叫作全局变量。

全局变量主要有以下两种情况:

(1)如果一个变量,在函数外定义,那么不仅在函数外可以访问到,在函数内也可以访问到。

(2)在函数体内使用 global 关键字定义变量为全局变量,在函数体外也可以访问该变量,并且在函数体内可以对其进行修改。

#定义为全局变量
global count 

到此这篇关于关于python函数的建立、调用、传参、返回值详解的文章就介绍到这了,更多相关python函数使用详解内容请搜索脚本之家以前的文章或继续浏览下面的相关文章希望大家以后多多支持脚本之家!

相关文章

  • 浅谈Python中的函数(def)及参数传递操作

    浅谈Python中的函数(def)及参数传递操作

    这篇文章主要介绍了浅谈Python中的函数(def)及参数传递操作,具有很好的参考价值,希望对大家有所帮助。如有错误或未考虑完全的地方,望不吝赐教
    2021-05-05
  • Python3多线程版TCP端口扫描器

    Python3多线程版TCP端口扫描器

    这篇文章主要为大家详细介绍了Python3多线程版TCP端口扫描器,具有一定的参考价值,感兴趣的小伙伴们可以参考一下
    2019-08-08
  • Python round函数的基本用法与实例代码

    Python round函数的基本用法与实例代码

    round()函数是Python中用于对浮点数进行四舍五入的内置函数,这篇文章详细介绍了round()函数的基本用法、参数详解、特殊情况处理以及应用场景,并提供了丰富的示例代码,需要的朋友可以参考下
    2024-11-11
  • Python实现自动化发送邮件

    Python实现自动化发送邮件

    大家好,本篇文章主要讲的是Python实现自动化发送邮件,感兴趣的同学赶快来看一看吧,对你有帮助的话记得收藏一下
    2022-01-01
  • 详解如何通过Python制作一个密码生成器

    详解如何通过Python制作一个密码生成器

    定期更换密码是一种非常重要的安全措施,这种做法可以有效地保护你的账户和个人信息不受黑客和网络攻击者的侵害。所以本文就来用Python制作一个密码生成器吧
    2023-05-05
  • 完美解决python针对hdfs上传和下载的问题

    完美解决python针对hdfs上传和下载的问题

    这篇文章主要介绍了完美解决python针对hdfs上传和下载的问题,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2020-06-06
  • Python守护进程和脚本单例运行详解

    Python守护进程和脚本单例运行详解

    本篇文章主要介绍了Python守护进程和脚本单例运行,小编觉得挺不错的,现在分享给大家,也给大家做个参考。一起跟随小编过来看看吧
    2017-01-01
  • Python代码操作PowerPoint页眉与页脚的完整指南

    Python代码操作PowerPoint页眉与页脚的完整指南

    在制作专业的 PowerPoint 演示文稿时,页眉和页脚是重要的文档元素,本文将介绍如何使用 Python 在 PowerPoint 演示文稿中 programmatically 添加和管理页眉页脚,有需要的小伙伴可以了解下
    2026-05-05
  • CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

    CentOS 7下安装Python 3.5并与Python2.7兼容并存详解

    这篇文章主要给大家介绍了在CentOS 7下安装Python 3.5并与Python2.7兼容并存的相关资料,文中将安装步骤介绍的非常详细,对大家具有一定的参考学习价值,需要的朋友们下面跟着小编来一起学习学习吧。
    2017-07-07
  • 用python简单实现mysql数据同步到ElasticSearch的教程

    用python简单实现mysql数据同步到ElasticSearch的教程

    今天小编就为大家分享一篇用python简单实现mysql数据同步到ElasticSearch的教程,具有很好的参考价值,希望对大家有所帮助。一起跟随小编过来看看吧
    2018-05-05

最新评论