【python基础】函数-参数形式

这篇具有很好参考价值的文章主要介绍了【python基础】函数-参数形式。希望对大家有所帮助。如果存在错误或未考虑完全的地方,请大家不吝赐教,您也可以点击"举报违法"按钮提交疑问。

鉴于函数定义中可能包含多个形参变量,因此函数调用中也可能包含多个实参变量。向函数传递实参变量给形参变量的方式有很多,可使用位置参数,这要求实参变量的顺序与形参变量的顺序相同;也可使用关键字参数,都由变量名和值组成,简称名称-值对;还可使用列表(元组)和字典

1.位置参数

调用函数时,Python必须将函数调用中的每个实参变量都关联到函数声明中的一个形参变量上。为此,最简单的关联方式是基于形参变量与实参变量的位置顺序。这种关联方式被称为位置参数。
其语法逻辑如下所示:
【python基础】函数-参数形式
我们假设一个输出人的爱好信息函数,编写程序如下所示:
【python基础】函数-参数形式
通过这个函数的声明可以发现,它需要一个人的姓名和爱好。调用print_hobby函数时,需要按位置顺序提供一个人的姓名和爱好。字符串变量的文本内容'张三'传递给函数声明中形参变量name,字符串变量的文本内容'足球'传递给函数声明中形参变量hobby,然后print_hobby函数就可以利用形参变量name和hobby去实现功能,这里实现的功能很简单,就是输出拼接字符串信息。

1.1多次调用

我们可以再进行第二次调用看是否是按照实参变量与形参变量的位置顺序来进行传递的,编写程序如下所示:
【python基础】函数-参数形式
通过输出结果发现是我们所设想的输出结果。
在函数中,可根据需要使用任意数量的位置参数,Python将按位置顺序从前到后将函数调用中的实参变量关联到函数声明中相应的形参变量,完成数据信息的传递

1.2位置参数的顺序很重要

使用位置参数来调用函数时,如果实参变量的顺序不正确,结果会出乎我们的意料,比如我们把第一个实参变量位置填写爱好信息,第二个实参变量位置填写姓名信息,编写程序如下所示:
【python基础】函数-参数形式
通过上面的输出结果我们发现显然不是我们想要的结果,所以一定要在函数调用时,按照形参变量的位置顺序,编写对实参变量的位置顺序,不然就会发生错误。

2.关键字参数

之前我们接触过字典的键值对,现在我们再学习一个关系对,名称-值对。关键字参数是传递给函数的名称-值对。我们直接在函数调用时将名称和值关联起来,因此向函数传递实参变量时不会混淆。用关键字参数的时候无须考虑函数调用中的实参变量的位置顺序。
我们还是以人名和爱好两个信息来举例,编写程序如下所示:
【python基础】函数-参数形式
我们可以发现通过关键字参数,即使改变了实参变量的位置顺序,输出结果还是我们之前所设想的,所以,关键字参数的顺序无关紧要,因为Python知道各个实参变量的值该存储到哪个形参变量中,但是使用关键字参数时,务必准确地指定函数定义中的形参变量名。

3.默认值

编写函数时,可给每个形参变量指定默认值。在调用函数中给形参变量提供实参变量的值时,Python将使用指定的实参变量的值;否则,将使用形参变量的默认值。因此,给形参变量指定默认值后,可在函数调用中省略相应的实参变量。使用默认值可简化函数调用,比如,经过我们大量收集人的爱好,发现爱好音乐的人比较多,我们可以将音乐作为默认值,编写程序如下所示:
【python基础】函数-参数形式
我们可以发现,当我们按照位置参数的方式进行实参变量值传递的时候,hobby的值由'篮球'变为了'足球',输出结果上爱好是足球,当我们不传递第二个实参变量值的时候,hobby因为没有接收到新值,所以使用了默认值'篮球',输出结果上爱好是篮球。
虽然我们的部分形参变量使用了默认值,在上面的程序中,name还是第一个位置参数,hobby还是第二个位置参数,如果我们改成print_hobby(hobby='篮球',name):这样会发生什么,编写程序如下所示:
【python基础】函数-参数形式
运行后发现,提示错误,该错误显示没有默认值的参数后面应该跟随有默认值的参数。也就是说明了,在形参变量有默认值的情况下,有默认值的形参变量在后面,没有默认值的形参变量在前面,如果是多个形参变量,一部分为有默认值的形参变量,一部分为没有默认值的形参变量,那么我们要先列出没有默认值的形参变量,再列出有默认值的形参变量。这让Python依然能够正确地解读位置参数。比如我们再构造两个形参变量,一个调查时间time,一个调查者people,调查时间我们默认是'2023-01-01',编写程序如下所示:
【python基础】函数-参数形式
我们一旦将有默认值的提前到没有默认值的前面,或者没有默认值的放在有默认值的后面,将在运行时产生错误,编写程序如下所示:
【python基础】函数-参数形式

4.传递任意数量参数

4.1任意数量参数

有时候,我们预先不知道函数需要接受多少个实参变量,但是Python允许函数从调用语句中收集任意数量的实参变量。因为爱好可以只有一个,也可以有很多,所以数量是不一定的,我们可以通过任意数量参数来解决,其语法格式:def 函数名(形参变量名):
编写程序如下所示:
【python基础】函数-参数形式
通过输出结果我们可以看出,我们把实参变量值传递给形参变量hobby的过程中,经过
号的作用,hobby变成了元组,通过元组的形式来接收多个实参变量值,既然是元组接收,我们可以遍历该元组,编写程序如下所示:
【python基础】函数-参数形式
通过对输出结果的观察是符合我们设想的。
总而言之,在不知道函数具体收到多少个实参变量值的时候,我们可以采取将形参变量在左上角加上*号的方式。

4.2结合使用位置参数和任意数量参数

如果要让函数接受不同类型的实参变量,必须在函数声明中将接纳任意数量参数的形参变量放在最后,Python先匹配位置参数和关键字参数,再将余下的实参变量都收集到最后一个形参变量中。
比如我们在之前的程序中,加入人名,函数声明时,人名形参变量name,必须放在任意数量形参变量的前面,函数调用时先写人名实参变量,然后再写任意数量实参变量,编写程序如下所示:
【python基础】函数-参数形式
基于上述函数声明,Python将第一个实参变量值'张三'传递到形参变量name,并将其他的实参变量值都存储在元组hobby中

4.3任意数量的关键字参数

有时候,需要接受任意数量的实参变量,但预先不知道传递给函数的会是什么样的信息。在这种情况下可将函数的形参变量编写成能够接受任意数量的关键字参数。比如一个人的信息简介,我们知道名字是必须的,但是我们不知道他会提供什么其他的信息,我们可以使用任意数量的关键字参数,编写程序如下所示:
【python基础】函数-参数形式
函数print_info的声明要求提供姓名,同时允许用户根据需要提供任意数量的关键字参数,也就是名称-值对。
形参变量**other中的两个星号让Python创建一个名为other的空字典,并将收到的所有名称-值对都封装到这个字典中。在函数中可以向访问其他字典那样访问other中的名称-值对。
总而言之,编写函数时,可以以各种方式混合使用位置参数、关键字参数和任意数量参数。文章来源地址https://www.toymoban.com/news/detail-485437.html

到了这里,关于【python基础】函数-参数形式的文章就介绍完了。如果您还想了解更多内容,请在右上角搜索TOY模板网以前的文章或继续浏览下面的相关文章,希望大家以后多多支持TOY模板网!

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处: 如若内容造成侵权/违法违规/事实不符,请点击违法举报进行投诉反馈,一经查实,立即删除!

领支付宝红包 赞助服务器费用

相关文章

  • 【C语言函数参数详解】——实际参数(实参)&形式参数(形参)

    这篇文章我们一起学习一下函数的参数,函数的参数分为 实参和形参。 首先我们来学习实参,什么是实参呢? 实际参数简称“实参”。 在调用有参函数时,函数名后面括号中的参数称为“实参”, 是我们真实传给函数的参数,实参可以是:常量、变量、表达式、函数等。

    2024年02月04日
    浏览(40)
  • Python 函数:定义、调用、参数、递归和 Lambda 函数详解

    函数是一段代码块,只有在调用时才会运行。您可以将数据(称为参数)传递给函数。 函数可以返回数据作为结果。 在Python中,使用def定义函数: 示例 要调用函数,请使用函数名称后跟括号: 示例 可以将信息作为参数传递给函数。参数在函数名称后面的括号内指定

    2024年02月08日
    浏览(42)
  • 【Python入门篇】——Python函数(函数介绍,函数的定义,函数的参数和函数的返回值)

    作者简介: 辭七七,目前大一,正在学习C/C++,Java,Python等 作者主页: 七七的个人主页 文章收录专栏: Python入门,本专栏主要内容为Python的基础语法,Python中的选择循环语句,Python函数,Python的数据容器等。 欢迎大家点赞 👍 收藏 ⭐ 加关注哦!💖💖 函数:是组织好的

    2024年02月08日
    浏览(59)
  • python:def函数的定义、参数等(详解)

    前言:使用函数时便于提高代码使用的重复性,提高效率,减少空间。例如 print() 函数,这是系统定义好的,但也可以自己根据功能定义,这类叫做自定义函数。 定义一个函数有以下的规则: 函数代码块以 def 开头,后接函数名与小括号 () ; 任何传参和自变量

    2024年02月13日
    浏览(42)
  • 05-python之函数-函数的定义/函数的参数/函数返回值/函数说明文档/函数的嵌套使用/函数变量的作用域

    对应输出如上,没有使用len()函数,对应的子算出字符的长度,但是代码整体写的就很别扭。代码过于重复,代码中唯一不一样的地方就是被统计的字符串不同。同时对应的,代码整体也就会比较低效。可以使用函数,优化过程,先定义函数。 同样的输出,效果一样,两者

    2024年01月19日
    浏览(46)
  • Python函数——函数的基础定义语法

    在Python编程中,函数是构建高效代码的关键。通过创建可重用的代码块,我们可以使程序更加清晰、易读且易于维护。在本文中,我们将深入了解Python函数的基本概念、特性以及如何在编程实践中灵活运用它们。 1、函数的定义: 函数是一段具有特定功能的代码块,它可以接

    2024年02月20日
    浏览(28)
  • 【Python基础】- 自定义函数和匿名函数

      🤵‍♂️ 个人主页:@艾派森的个人主页 ✍🏻作者简介:Python学习者 🐋 希望大家多多支持,我们一起进步!😄 如果文章对你有帮助的话, 欢迎评论 💬点赞👍🏻 收藏 📂加关注+ 函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。   函数能提高

    2024年02月14日
    浏览(36)
  • python基础教程九 抽象三(函数参数续)

    前面使用的都是 位置参数 ,因为它们的位置至关重要。本节介绍的技巧让你能完全的忽略位置。要熟悉这种技巧需要一段时间,但随着程序规模的增大,你很快就发现它很有用。 这俩个函数的功能完全相同,只是参数的排列顺序相反。 有时候,参数的排列顺序可能难以记住

    2024年01月24日
    浏览(34)
  • Python零基础学习7.1—Python自定义函数的定义和调用

    函数是组织好的,可重复使用的,用来实现单一,或相关联功能的代码段。 函数能提高应用的模块性,和代码的重复利用率。Python提供了许多内建函数,比如print()。但我们也可以自己创建函数来实现一些功能,这被叫做用户自定义函数。 下面来看几个例题: 任务描述 本关

    2024年02月04日
    浏览(42)
  • Python基础List列表定义与函数

    如何定义一个非空的列表? 列表的特点: 1.列表是有序的 2.可以存放多个元素 3.每个元素可以是任何数据类型 定义一个空列表 访问列表中的元素 通过索引值来访问列表中的元素,索引从0开始 获取列表中的长度,内置函数len() 修改列表中的元素 列表切片,步长 说明:列表

    2024年02月09日
    浏览(35)

觉得文章有用就打赏一下文章作者

支付宝扫一扫打赏

博客赞助

微信扫一扫打赏

请作者喝杯咖啡吧~博客赞助

支付宝扫一扫领取红包,优惠每天领

二维码1

领取红包

二维码2

领红包