1分钟掌握 Python 函数参数

任何编程语言函数都是非常重要的一部分,而在进行函数调用时,了解函数的参数传递方式是非常有必要的。Python中支持哪些传参方式呢?

Python中的传参方式是比较灵活的,主要包括以下六种:

  • 按照位置传参
  • 按照关键字传参
  • 默认参数
  • 元组传参
  • 字典传参
  • 综合传参

按照位置传参

顾名思义,实参与形参数目一致,并且是按照位置一一对应的。

def func(a, b):return a+b*2

当调用函数func(1,2)时,则按照a=1,b=2的方式形参与实参对应,返回结果为5。

按照关键字传参

这种方式在调用函数时既传实参,也传形参。因而,不需要根据位置对应了,位置可以颠倒:

def func(a, b):return a+b*2

当调用函数func(b=1,a=2)时,则按照b=1,a=2的方式形参与实参对应,匹配的方式是关键字而非位置,返回结果为4。

默认参数

默认参数必须放在前两类参数之后,在调用函数的时候可以传参,也可以不传。不传则采用默认的参数值。

def func(a, b, c = 3):return a+b*2+c

其中,c为默认参数。当通过func(1,2)调用函数时,c的取值为默认值3,函数的执行结果为8;当通过func(1,2,5)调用函数时,c的取值为实参值5,函数的执行结果为10。

元组传参

传入的参数以元组的形式呈现,长度不限,可以通过元组的访问方式依次访问各个入参:

def func(*args):for eacharg in args:print ('tuple arg:', eacharg)

调用方式如下:func(‘I’, ‘Love’, ‘PythonSomething’)

调用结果为:

tuple arg: I
tuple arg: Love
tuple arg: PythonSomething

字典传参

传入的参数以字典的形式呈现,长度不限,可以通过字典的访问方式依次访问各个入参:

def func(**kwargs):for eachkwarg in kwargs.keys():print('Dict Arg', eachkwarg, ':', kwargs[eachkwarg])

调用方式如下:

func(English_name = ‘PythonSomething’, Chinese_name= ‘Python那些事’)

调用结果为:

Dict Arg English_name : PythonSomething
Dict Arg Chinese_name : Python那些事

综合传参

是以上几种传参方式的综合。实际上,大家从上面的例子也可以发现,元组传参和字典传参已经能够满足大部分传参场景。所以,通常所的综合传参指的是这两种的组合,大家在源码中也经常会发现它们的身影:

def func(*args,**kwargs):for eacharg in args:print('tuple arg:', eacharg)for eachkwarg in kwargs.keys():print('Dict Arg', eachkwarg, ':', kwargs[eachkwarg])

调用示例为:

func(‘I’, ‘Love’, ‘PythonSomething’, English_name = ‘PythonSomething’, Chinese_name= ‘Python那些事’)

调用结果为:

tuple arg: I
tuple arg: Love
tuple arg: PythonSomething
Dict Arg Chinese_name : Python那些事
Dict Arg English_name : PythonSomething

关于Python学习指南

学好 Python 不论是就业还是做副业赚钱都不错,但要学会 Python 还是要有一个学习规划。最后给大家分享一份全套的 Python 学习资料,给那些想学习 Python 的小伙伴们一点帮助!

包括:Python激活码+安装包、Python web开发,Python爬虫,Python数据分析,人工智能、自动化办公等学习教程。带你从零基础系统性的学好Python!

👉Python所有方向的学习路线👈

Python所有方向路线就是把Python常用的技术点做整理,形成各个领域的知识点汇总,它的用处就在于,你可以按照上面的知识点去找对应的学习资源,保证自己学得较为全面。(全套教程文末领取)

在这里插入图片描述

👉Python学习视频600合集👈

观看零基础学习视频,看视频学习是最快捷也是最有效果的方式,跟着视频中老师的思路,从基础到深入,还是很容易入门的。

在这里插入图片描述

温馨提示:篇幅有限,已打包文件夹,获取方式在:文末

👉Python70个实战练手案例&源码👈

光学理论是没用的,要学会跟着一起敲,要动手实操,才能将自己的所学运用到实际当中去,这时候可以搞点实战案例来学习。

在这里插入图片描述

👉Python大厂面试资料👈

我们学习Python必然是为了找到高薪的工作,下面这些面试题是来自阿里、腾讯、字节等一线互联网大厂最新的面试资料,并且有阿里大佬给出了权威的解答,刷完这一套面试资料相信大家都能找到满意的工作。

在这里插入图片描述

在这里插入图片描述

👉Python副业兼职路线&方法👈

学好 Python 不论是就业还是做副业赚钱都不错,但要学会兼职接单还是要有一个学习规划。

在这里插入图片描述

👉 这份完整版的Python全套学习资料已经上传,朋友们如果需要可以扫描下方CSDN官方认证二维码或者点击链接免费领取保证100%免费

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

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

相关文章

力扣--N皇后

题目: 按照国际象棋的规则,皇后可以攻击与之处在同一行或同一列或同一斜线上的棋子。 n 皇后问题 研究的是如何将 n 个皇后放置在 nn 的棋盘上,并且使皇后彼此之间不能相互攻击。 给你一个整数 n ,返回所有不同的 n 皇后问题 的解决方案。…

李彦宏:程序员将不复存在! 周鸿祎回怼!网友:先把百度程序员都开除了!

近日,百度创始人、董事长兼首席执行官李彦宏在央视《对话》•开年说的访谈中指出:“基本上说以后其实不会存在“程序员”这种职业了,因为只要会说话,人人都会具备程序员的能力”。 “未来的编程语言只会剩下两种,一种…

Java进阶-异常处理

概述 常见运行时异常 直接继承自RuntimeException或者子类,编译阶段不会报错,运行时可能出现的错误 运行时异常:一般是程序员业务没有考虑好或者是编程逻辑不严谨引起的程序错误 数组索引越界异常空指针异常类型转换异常数学操作异常数字转…

离线语音模块初步学习——LSYT201B(深圳雷龙发展)

一 、产品简介 首先简单介绍下该离线语音模块,官方给出的介绍是:YT2228 是根据智能语音交互市场需求及思必驰算法的发展方向定义开发的 “芯片算法”人工智能人机语音交互解决方案,具有高性能、低功耗等特点。该芯片通过软硬融合的方法&…

数据丢失的谜团:文件突然不见了,却还占用着空间

在数字化时代,数据的重要性不言而喻。然而,有时我们会遇到一个令人困惑的问题:明明存储在设备中的文件突然不见了,但磁盘空间仍被占用。这种情况究竟是怎么回事?我们又该如何找回这些“消失”的文件呢?接下…

ROS python实现乌龟跟随

产生两只乌龟,中间的乌龟(A) 和 左下乌龟(B), B 会自动运行至A的位置,并且键盘控制时,只是控制 A 的运动,但是 B 可以跟随 A 运行 乌龟跟随实现的核心,是乌龟A和B都要发布相对世界坐标系的坐标信息,然后&am…

力扣HOT100 - 994. 腐烂的橘子

解题思路: 因为要记录轮数(分钟数),所以不能一口气遍历到底,所以不能用深搜(bfs),而要用广搜(bfs,层序遍历)。 先记录下新鲜橘子数,…

理解控制反转

好久之前写的学习笔记,一直落在草稿箱里今天才发现,既然写了就补发出来吧~ 当需要实现不同操作时,用户和程序员都无需修改,只需要修改xml配置即可。 代码体现: 不同接口的实现类: xml具体配置 通过set注入…

GO语言写Prometheus自定义node-exporter的Docker容器测试

1. 安装docker-compose 执行以下命令,安装docker-compose到CentOS7.9环境中: # 下载二进制文件 sudo curl -L "https://github.com/docker/compose/releases/download/v2.24.7/docker-compose-$(uname -s)-$(uname -m)" -o /usr/local/bin/d…

Qt : 在QTreeWidget中添加自定义右键菜单

一、引言 如图,我们需要在一个QTreeWidget 控件中添加了自定义右键菜单。 二、思路 如何做到的呢,很简单。浅浅记录和分享一下。 继承QTreeWidget,定义一个子类CustomTreeWidget ,在重写contextMenuEvent 事件即可。 三、代…

linux调试-访问物理地址

1. devmem 方式 rootraspberrypi:/home/niyu# busybox devmem 0x7e215000 8 0xa rootraspberrypi:/home/niyu# busybox devmem 0x7e215000 8 0x0A rootraspberrypi:/home/niyu# busybox devmem 0x7e215000 8 0xb rootraspberrypi:/home/niyu# busybox devmem 0x7e21500…

如何制作个性又美观的二维码?自定义Logo、样式,还能一键复用

草料二维码提供基础的二维码美化设置,包含Logo、颜色、码点码眼、容错、添加文字等设置。 还提供150标签样式,标签样式中所有内容,包括LOGO、背景、字段数量等,均可修改。 同时,支持将样式保存到账号下,方…

从递归角度串联二叉树-图论-动态规划

一、深度理解二叉树的前中后序遍历 二叉树遍历框架如下: void traverse(TreeNode* root) {if (root nullptr) {return;}// 前序位置traverse(root->left);// 中序位置traverse(root->right);// 后序位置 }先不管所谓前中后序,单看 traverse 函数…

常见的工业路由器访问问题

A:工业路由器已经设置了pptp怎么访问路由下面的电脑 1. 确认PPTP VPN设置:首先,确保PPTP VPN服务器在工业路由器上已正确设置,并且处于活动状态。这包括确保VPN服务器的IP地址、端口、用户名和密码等设置正确无误。 2. 连接到VP…

硬件24、嘉立创EDA丝印的优化和调整

1、调整全部丝印的属性 先选中一个丝印,然后右键点击它,选择查找,然后选择查找全部 选择查找全部这个时候可以设置所有丝印在元件的位置了,布局-》属性位置,位号,属性位置设置为上边,这时丝印就…

五、yolov8 tensorRT c++部署及接口封装(保姆级教程附源码)

采用 CTensorRT来部署深度学习模型有以下几个优点: 高性能推理:TensorRT是一个高性能的深度学习推理(Inference)优化器,专门为NVIDIA GPU硬件平台设计,能够提供低延迟、高吞吐量的模型推理性能。这意味着在…

深度学习pytorch实战4---猴逗病识别·

>- **🍨 本文为[🔗365天深度学习训练营](https://mp.weixin.qq.com/s/0dvHCaOoFnW8SCp3JpzKxg) 中的学习记录博客** >- **🍖 原作者:[K同学啊](https://mtyjkh.blog.csdn.net/)** 引言 1.复习上周并反思 K同学针对大家近…

python爬虫 - 爬取html中的script数据(36kr.com新闻信息)

文章目录 1. 分析页面内容数据格式2. 使用re.findall方法,爬取新闻3. 使用re.search 方法,爬取新闻 1. 分析页面内容数据格式 打开 https://36kr.com/ 按F12(或 在网页上右键 --> 检查(Inspect)) 找…

c++初阶——类和对象(中)

大家好,我是小锋,我们今天继续来学习类和对象。 类的6个默认成员函数 我们想一想如果一个类什么都没有那它就是一个空类,但是空类真的什么都没有吗? 其实并不是,任何类在什么都不写时,编译器会自动生成以…

电脑提示丢失iutils.dll怎么办?一分钟教你搞定dll丢失问题

在计算机世界中,DLL(Dynamic Link Library,动态链接库)文件扮演着至关重要的角色,它们如同乐高积木中的基础模块,不同程序通过调用这些模块来实现各种功能。其中,iutils.dll就是这样一款不可或缺…