我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

关于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函数使用详解内容请搜索编程网以前的文章或继续浏览下面的相关文章希望大家以后多多支持编程网!

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

猜你喜欢

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

目录自定义函数调用函数函数参数的传递形参与实参位置参数函数返回值局部变量全局变量自定义函数Python 还支持自定义函数,即将一段有规律的、可重复使用的代码定义成函数,从而达到一次编写多 次调用的目的。 1.创建函数 创建函数也称为定义函
2023-08-08

C++ 函数调用函数指针:参数传递和返回值的回调机制

回答: 函数指针允许在运行时动态地调用函数,实现回调机制。参数传递: 函数指针可以作为参数传递给高阶函数,高阶函数对其进行调用并返回结果。返回值的回调机制: 函数可以返回函数指针,实现回调机制,使得一个函数可以作为另一个函数的返回值被传递。
C++ 函数调用函数指针:参数传递和返回值的回调机制
2024-05-02

C++ 函数调用 Lambda 表达式:参数传递和返回值的回调优化

在 c++++ 中,可以使用 lambda 表达式作为函数参数,实现回调函数的灵活性。具体而言:参数传递:通过 std::function 包装 lambda 表达式,以函数指针形式传递给函数。返回值处理:使用 std::function
C++ 函数调用 Lambda 表达式:参数传递和返回值的回调优化
2024-05-03

C++ 函数调用性能调优:参数传递和返回值的影响

c++++ 函数调用性能优化包括两方面:参数传递策略和返回值类型优化。参数传递方面,传递值适合小对象、不可修改参数,传递引用或指针则适合大对象、可修改参数,而传递指针速度最快。返回值优化方面,小型值可直接返回,大对象应返回引用或指针。选择合
C++ 函数调用性能调优:参数传递和返回值的影响
2024-05-04

C++ 函数调用调试技巧:参数传递和返回值的跟踪与调试

c++++ 函数调用调试技巧:参数传递:gdb 使用 call 命令,lldb 使用 expression 命令。返回值:gdb 使用 print 命令,lldb 使用 expr 命令。C++ 函数调用调试技巧:参数传递和返回值的跟踪与调试
C++ 函数调用调试技巧:参数传递和返回值的跟踪与调试
2024-05-05

关于Vue父子组件传参和回调函数的使用

这篇文章主要介绍了关于Vue父子组件传参和回调函数的使用,我们将某段代码封装成一个组件,而这个组件又在另一个组件中引入,而引入该封装的组件的文件叫做父组件,被引入的组件叫做子组件,需要的朋友可以参考下
2023-05-19

C++ 函数调用详解:返回值处理的艺术

c++++ 函数调用中的返回值处理涉及:返回值类型:定义返回数据的类型,包括原始类型和引用类型。返回值语义:决定函数如何处理返回值,包括值传递(副本返回)和引用传递(返回引用)。实战案例:说明值传递和引用传递的使用场景和实现方式。C++ 函
C++ 函数调用详解:返回值处理的艺术
2024-05-03

C++ 函数调用模版技术:参数传递和返回值的泛型化

c++++ 函数调用模版技术可通用化函数,包括参数传递和返回值。它通过使用 typename 定义模板参数来实现,允许传递任意数量和类型的参数,并将返回值泛型化。此技术提高代码可重用性、减少冗余、提高灵活性并提供类型安全性。C++ 函数调用
C++ 函数调用模版技术:参数传递和返回值的泛型化
2024-05-03

C++ 函数调用面向对象设计:参数传递和返回值的对象传递

在 c++++ 函数调用中,参数可以使用值传递(接收参数副本)或引用传递(接收对实际对象的引用)。返回值同样可通过值传递或引用传递。值传递会复制对象,而引用传递会传递对象的引用,从而影响实际对象。C++ 函数调用面向对象设计:参数传递和返回
C++ 函数调用面向对象设计:参数传递和返回值的对象传递
2024-04-30

C++ 函数调用反射技术:参数传递和返回值的动态访问

c++++ 函数调用反射技术允许在运行时动态获取函数的参数和返回值信息。使用 typeid(decltype(...)) 和 decltype(...) 表达式可获取参数和返回值类型信息。通过反射,我们可以动态调用函数,并根据运行时输入选择
C++ 函数调用反射技术:参数传递和返回值的动态访问
2024-05-05

C++ 函数调用内存管理:参数传递与返回值的内存开销

c++++ 函数调用涉及参数传递和返回值,会产生内存开销。参数传递按值或按引用进行,按值传递复制参数,按引用传递指向原始参数。返回值按值或按引用返回,按值返回保存返回值,按引用返回指向原始值。按引用传递和按引用返回的内存开销通常更小,因为它
C++ 函数调用内存管理:参数传递与返回值的内存开销
2024-04-30

C++ 函数调用文档生成:参数传递和返回值的自动生成

通过利用c++++反射机制,本文提供了一种自动化生成c++函数调用文档的解决方案,该解决方案可以从函数签名提取参数传递和返回值信息,并生成详细的markdown文档,其中包含函数参数(按值/引用传递)、返回值类型以及参数说明。C++ 函数调
C++ 函数调用文档生成:参数传递和返回值的自动生成
2024-05-03

C++ 函数调用泛型编程:参数传递和返回值的类型抽象

泛型编程可实现代码的类型抽象,包括参数传递和返回值类型抽象。参数传递抽象使用模板指定参数类型,如 template t sum(t a, t b),允许对不同类型进行求和。返回值抽象使用 auto 推断类型,如 template auto
C++ 函数调用泛型编程:参数传递和返回值的类型抽象
2024-05-03

C++ 函数调用预处理器宏:参数传递和返回值的高级用法

在 c++++ 中,预处理器宏可用于调用函数,涉及以下步骤:参数传递:宏参数用圆括号括起来,以逗号分隔。返回值:使用宏参数指定要返回的值,并赋值给变量。实战案例:通过使用宏优化查找数组中最大值索引的函数,减少了计算次数,提高了效率。C++
C++ 函数调用预处理器宏:参数传递和返回值的高级用法
2024-05-04

C++ 函数调用单元测试:参数传递和返回值的正确性验证

单元测试中验证 c++++ 函数调用时,需验证以下两点:参数传递:使用断言检查实际参数是否与预期值匹配。返回值:使用断言检查实际返回值是否等于预期值。C++ 函数调用单元测试:验证参数传递和返回值引言单元测试对于确保软件的正确性和可靠性
C++ 函数调用单元测试:参数传递和返回值的正确性验证
2024-05-01

C++ 函数调用异常处理:参数传递和返回值中的异常情况

摘要:函数调用中的异常处理涉及:参数传递异常:传递的参数引发异常时,异常传递给调用函数。返回值异常:函数通过返回值引发异常,直接传递给调用函数。实战示例:myclass::func() 函数参数为空字符串时抛出 std::invalid_a
C++ 函数调用异常处理:参数传递和返回值中的异常情况
2024-05-02

C++ 函数调用跨平台移植:参数传递和返回值的可移植性

跨平台 c++++ 函数调用中,参数传递默认机制不同,需使用 const 强制按值传递或引用强制按引用传递。返回值惯例因平台异,可使用 typedef 定义平台无关类型或封装返回值。实战案例演示了使用 typedef 针对平台差异定义数据类
C++ 函数调用跨平台移植:参数传递和返回值的可移植性
2024-04-30

C++ 函数调用重载机制:参数传递和返回值的多义性处理

c++++ 函数重载允许同一函数名定义多个变体,根据不同形参列表区分。参数传递有值传递和引用传递两种,值传递将值复制到局部变量,引用传递将引用传递给函数,修改引用会影响外部变量。函数可返回不同类型的值,包括基本数据类型、引用和对象。C++
C++ 函数调用重载机制:参数传递和返回值的多义性处理
2024-05-01

C++ 函数调用多线程考虑:参数传递和返回值的线程安全设计

多线程环境中调用函数的线程安全设计涉及参数传递和返回值。值传递和智能指针传递可确保线程安全。引用传递和引用返回需要线程同步来防止竞争条件。此外,线程局部变量、互斥量和条件变量也是保持线程安全性的重要技术。C++ 函数调用多线程考虑:参数传递
C++ 函数调用多线程考虑:参数传递和返回值的线程安全设计
2024-05-02

编程热搜

  • Python 学习之路 - Python
    一、安装Python34Windows在Python官网(https://www.python.org/downloads/)下载安装包并安装。Python的默认安装路径是:C:\Python34配置环境变量:【右键计算机】--》【属性】-
    Python 学习之路 - Python
  • chatgpt的中文全称是什么
    chatgpt的中文全称是生成型预训练变换模型。ChatGPT是什么ChatGPT是美国人工智能研究实验室OpenAI开发的一种全新聊天机器人模型,它能够通过学习和理解人类的语言来进行对话,还能根据聊天的上下文进行互动,并协助人类完成一系列
    chatgpt的中文全称是什么
  • C/C++中extern函数使用详解
  • C/C++可变参数的使用
    可变参数的使用方法远远不止以下几种,不过在C,C++中使用可变参数时要小心,在使用printf()等函数时传入的参数个数一定不能比前面的格式化字符串中的’%’符号个数少,否则会产生访问越界,运气不好的话还会导致程序崩溃
    C/C++可变参数的使用
  • css样式文件该放在哪里
  • php中数组下标必须是连续的吗
  • Python 3 教程
    Python 3 教程 Python 的 3.0 版本,常被称为 Python 3000,或简称 Py3k。相对于 Python 的早期版本,这是一个较大的升级。为了不带入过多的累赘,Python 3.0 在设计的时候没有考虑向下兼容。 Python
    Python 3 教程
  • Python pip包管理
    一、前言    在Python中, 安装第三方模块是通过 setuptools 这个工具完成的。 Python有两个封装了 setuptools的包管理工具: easy_install  和  pip , 目前官方推荐使用 pip。    
    Python pip包管理
  • ubuntu如何重新编译内核
  • 改善Java代码之慎用java动态编译

目录