不显示参数名_第51p,万能参数与返回值,Python中函数的返回值

大家好,我是杨数Tos,这是《从零基础到大神》系列课程的第51篇文章,第三阶段的课程:Python进阶知识:详细讲解Python中的函数(四)====>函数的参数与返回值(下篇)。

b1ce704d2f59217ec4c9da508516c614.png

函数是非常重要的内容,在这里,我会用10篇左右的文章详细讲解Python中函数定义与使用的规则。

阅读提醒:建议小白先看一遍:【计算机基础知识】和【Python基础知识】课程,否则你不一定听得懂!

我们接着上一篇文章讲函数传参与函数的返回值。

一、Python中函数的传参规则

1、一般传参规则

有几个形参就传入几个实参,按照定义阶段为准;

如果所有类型的参数都有,则按照以下规则进行传参:

函数名(位置参数,关键字参数/默认参数,*args,**kwargs)

02a518719d7672eb2c71dee1398c79d5.png

2、不定长参数的传参

如果在函数定义时,定义了*args和**kwargs这些不定长形参,在进行传参时,遇到列表[]、字典{}这类数据时,会自动将相相应数值传入到*args与**kwargs这两个形参中;

这是Python内置的强制规则。

3、解压传参

解压传参指的是,定义参数时并没有定义*args和**kwargs这两种不定长参数,但却传入了列表或元组或字典这类数据;

有人会觉得,没有定义不定长参数,怎么传列表、字典?这里用到了解压传参的功能。

a. 列表的解压传参:

定义函数:函数名(位置参数1,位置参数2)

实例化函数:

X = [1,2];

函数名(*x)

b. 字典的解压传参:

定义函数时:函数名(参数1,参数2)

实际传参时:函数名(**{参数1:11,参数2:22})

41a76f81e953a19323972c794f21a7e1.png

c. 还有一种情况是,定义函数时,是这样的:

函数名(位置参数1,位置参数2,*args)

实际传参时,是这样的:

X = [1,2,3,4,5,6]

函数名(*x)

e5b898e0558eda879eb2603a12f6c9b3.png

解压传参的底层逻辑是这样的:【重要】

1、传参时遇到一个星或两个星(*或**)时,会相当于执行一次for循环;

2、将传入的列表或字典进行for循环取值;

3、再将列表或字典中取出来的值,按照位置参数传参的方式,从左到右依次传;传参过程中也会遵循一般传参规则,即有几个形参,就传几个实参。

4、如果传入的是字典,则用两个星传参的方式进行传参,最后会得到的时字典key对应的value。

例:def fun(x,y,z)

实参:fun(*[11,12,13])

这里会严格按照位置参数的数量进行传参,返回的结果是,x=11,y=12,z=13。

4、万能传参的方法

万能传参是指,不管你传入的是1个或1万个参数,传入的参数是列表、元组、字典,都可被函数接收;这里利用的是不定长参数的特点;具体使用方式如下:

定义函数时:函数名(*argw,**kwargs)

这种传参方式,也是我们经常使用的传参方式。

注:*args返回的是元组,**kwargs返回的是字典。

230b309603ae20efcba29440019b5e99.png

5、设置传参时的提示

我们在使用Python内置的函数时,会看到有相应的英文提示,告诉我们这个参数应该传入什么样的数据类型;我们自己在定义函数时也可以设置提示,使用语法如下:

函数名(参数1:“这里传入数字)

例如:def fun(x:”please input int”):

当函数被使用时,会显示相应的提示。

678ffb35ea4fcc524ce213ca7d68ceef.png

二、Python中函数的3种返回值

函数中,只要执行了一次return语句,无论后面有多少语句都不会再往下执行;return是函数结束的标志;Python中的函数返回值分为3种:

1、没有return,默认返回None;

2、返回单个值,语法:return 值;

3、返回多个值,用逗号分隔开,会被return返回成元组;

如:return x,y;会返回成(x,y);

返回元组的主要原因是利用元组的不可变特性,这样函数的返回值就不会有被修改的可能。

4、规定函数返回值数据类型

我们可以在定义函数时,规定函数的返回值数据类型,具体方法如下:

函数名(参数:)->:int

例:def fun(x): ->:int

这里给使用者提示了fun函数的返回值为int(整数);不过,我们一般很少使用这种方式定义函数。

c1414f9943f1a44d837ca5b48149827f.png

补充两点前面漏写的:

a. Python中的函数名的命名规则和变量名的命名规则一样;函数名的命名风格:纯小写字母;

b. 函数的功能注释,一般都写在函数名下面用3引号注释,一般看需求确定是否要详细写注释。

99c0957398d3e9bc3e9beec6db147b9b.png

以上是本期内容,如果有表达不对的内容,欢迎您的留言、斧正,我们一起天天向上。

感谢您的阅读,您的三连【关注、点赞、收藏】就是对我最大的支持,谢谢!

本文由杨数Tos原创,欢迎关注,带你一起长知识。

本文来自互联网用户投稿,该文观点仅代表作者本人,不代表本站立场。本站仅提供信息存储空间服务,不拥有所有权,不承担相关法律责任。如若转载,请注明出处:http://www.mzph.cn/news/499241.shtml

如若内容造成侵权/违法违规/事实不符,请联系多彩编程网进行投诉反馈email:809451989@qq.com,一经查实,立即删除!

相关文章

阿里云服务器安装JDK指南

hi,大家好啊,好久不见,最近阿里云双十一做活动,很多博主都在做购买返现活动,不知道大家有没有去白嫖他们一个服务器,服务器买来可以用来学习一下服务器搭建,应用部署等等,可以做的事…

word如何设置长宽高_word怎么设计表格高和宽

在word中输入文字可能大部分人都能熟练掌握,但是有时word中也需要插入表格,这样不仅能准确的表达出想要表达的意思,那么下面就由学习啦小编给大家分享下技巧,希望能帮助到您。word设计表格高和宽的步骤如下:步骤一&…

python字符串筛选输出_如何在Python中过滤字符串列表

Python使用列表数据类型在顺序索引中存储多个数据。它的工作方式类似于其他编程语言的数字数组。filter()方法是Python的一种非常有用的方法。可以使用filter()方法从Python中的任何字符串、列表或字典中过滤一个或多个数值。它根据任何特定条件过滤数据。当条件返回true时&…

销售流程图_工作流程图网络图模板,招聘销售合同库存,完整设计拿来就用

Hello大家好,我是帮帮。今天跟大家分享一组工作流程图模板,招聘销售合同库存,完整设计拿来就用。为了让大家能更稳定的下载模板,我们又开通了全新下载方式(见文章末尾),以便大家可以轻松获得免费模板和收费模板。メ大家…

协议详解_I2C协议详解

I2C通信协议I2C通信协议的基础简介I2C「Inter-integrated Circuit」总线支持设备之间的短距离通信,用于处理器和一些外围设备之间的接口,它只需要两根信号线来完成信息交换。I2C最早是飞利浦在1982年开发设计。I2C是同步传输信号,关于同步和异…

http 302错误_http面试题

作者:忘れられたくない出自:SegmentFault 思否原文:segmentfault.com/a/1190000024538846http状态码分类1xx服务器收到请求2xx请求成功3xx重定向4xx客户端错误5xx服务端错误常见状态码200 成功301 永久重定向302 临时重定向304资源未被修改40…

controller属于哪一层_孺教网分享|家长层次有五层,家长们都来看看,你属于哪一层?...

经常听到这样一些话:养不教父之过,有其父必有其子。孩子是父母的影子,父母是孩子的第一任老师.......这些都反映了在孩子成长的过程中,家庭教育的重要性。而家庭教育往往体现在非智力因素方面,比如感恩、诚信、善良、尊…

cad里面f命令用不了_CAD出现命令无效、失灵等问题?不用慌,两招帮你快速解决...

一、CAD常见无效问题1、填充命令无效我们有时候需要对某一区域进行填充,但是却发现怎么也填充不出来,这个时候就应该检查一下【选项】设置了,具体操作步骤如下:①命令行中输入【OP】,按下回车键调出【选项】对话框&…

powershell 遍历json_如何从Powershell脚本读取JSON数据并遍历它

我开始学习Powershell,我正在尝试读取JSON文件。如何从Powershell脚本读取JSON数据并遍历它这里是我的JSON文件(名为“versions.json”):{"versions": {"1.0.0": {"Component1": "1.0.0","Component2"…

卫生纸玫瑰花折法5步_餐巾纸折纸玫瑰花的折法图解教程

餐巾纸折纸玫瑰花的折法图解教程折纸玫瑰花的制作方法非常的多,但是常见的折纸玫瑰花制作方法基本上都是以方形纸张进行折叠来制作而成的。这里介绍的这种折纸玫瑰的制作方法更加的简单、经济和环保一些。同时其有着一个极大的优点,那就是无论在哪里都可…

mysql ==null_mysql = null 问题

SELECT * FROM cms_user WHERE ageNULL;Empty set (0.03 sec)查询表中记录age值为nullmysql> SELECT * FROM cms_user WHERE age<>NULL;------------------------------------------------------------------------| id | username | password | email | regTim…

mysql status_mysql status查看

总结了几种查看MySQL运行状况的方法&#xff0c;如下&#xff1a;1、phpMyAdmin最简单的方式&#xff0c;在phpMyAdmin直接点击状态查看&#xff0c;详细如下图。这查看的是MySQL的一些运行状况数值&#xff0c;这种方式被大多数系统管理员所不齿&#xff0c;因为专业的MySQL服…

windows mysql 备份_Windows下MySQL数据库备份脚本(二) | 系统运维

说明&#xff1a;MySQL数据库安装目录&#xff1a;C:\Program Files\MySQL\MySQL Server 5.0MySQL数据库存放目录&#xff1a;C:\Program Files\MySQL\MySQL Server 5.0\dataMySQL数据库备份目录&#xff1a;D:\MySQLdata_Bak实现目的&#xff1a;备份MySQL数据库存放目录中的m…

php mysql 秒杀_redis+PHP实现高并发下秒杀数据入库的问题

在高并发下实现抢购秒杀功能中&#xff0c;我有一个疑问&#xff0c;就是数据入库的问题&#xff0c;什么时候入库。设想思路&#xff1a;1.判断他抢购成功了&#xff0c;立马把生成的订单数据写入mysql订单表&#xff0c;同时库存表字段减少1&#xff1b;2.判断抢购成功后&…

mysql8解决区分大小写问题_球磨机“包球”和“饱磨”分不清?点进来快速区分,解决问题...

球磨机的“包球”和“饱磨”现象都是设备在磨矿过程中出现的常见故障&#xff0c;大多数用户对这两种情况不是特别了解&#xff0c;出现问题时也不知从何下手&#xff0c;导致机器无法正常作业。其实“包球”和“饱磨”有一定的相似之处&#xff0c;同时在产生原因、处理方法等…

控制浏览器增加新页签的js_技术网站重写复制按键 js 跳转到注册页,就能增加用户?...

背景技术网站重写复制按键的 js &#xff0c;作为开发人员你会为了复制一段代码而注册一个用户吗&#xff1f;一个小需求变动&#xff0c;将跳转详情页改为 target_blank 的方式打开新页面。原来用 Vue.js 的路由代码 push 需要换成 resolve &#xff0c;本文将介绍该需求调整过…

win7系统一直反复重启_iPhone7开机白苹果反复重启进不了系统维修过程

故障现象iPhone7开机时在出现苹果图标后反复重启&#xff0c;无法进入系统。维修过程拿到手机之后开机测试&#xff0c;在显示苹果图标界面反复重启。这种故障是开机过程不能通过自检造成的。由于客户要保留资料&#xff0c;所以是不能刷机。根据经验判断应该是基带部分有问题。…

mysql去掉小数点多余0_mysql数据库个性化需求:版本号排序

概述今天主要介绍一个MySQL数据库版本号排序问题&#xff0c;一起来看看吧~需求按版本号排序&#xff0c;版本号字段为字符类型&#xff0c;其中1.2.10应大于1.2.9&#xff0c;但mysql数据库会认为1.2.9大于1.2.1正确的版本号应该是 1.3.0 大于 1.2.231.2.10 大于 1.2.9实现sql…

mysql语句在哪编写_mysql常见问题七:编写sql语句

一、删除除了学号字段以外&#xff0c;其它字段都相同的冗余记录&#xff0c;只保留一条&#xff01;(也就是要删除凤姐和田七中一条重复数据只留一条)要求结果数据&#xff1a;原始数据&#xff1a;CREATE TABLEtbl_students (idint NOT NULL,namevarchar(10) DEFAULT NULL,sa…

lamp mysql5.0_CentOS 5/6 LAMP(Apache MySQL PHP)一键安装脚本

适用系统&#xff1a;CentOS-5 (32bit/64bit)CentOS-6 (32bit/64bit)安装了什么&#xff1a;1、Apache 2.2.202、MySQL 5.0.923、PHP 5.2.174、ZendOptimizer 3.3.95、eAccelerator 0.9.6.16、phpmyadmin 3.3.47、vsftpd 2.3.4实现了什么功能1、一键配置LAMP经典环境2、自动删除…