1分钟掌握 Python 函数参数

news/2024/9/23 22:41:21/

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

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

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

按照位置传参

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

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

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

按照关键字传参

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

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

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

默认参数

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

python">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。

元组传参

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

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

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

调用结果为:

python">tuple arg: I
tuple arg: Love
tuple arg: PythonSomething

字典传参

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

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

调用方式如下:

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

调用结果为:

python">Dict Arg English_name : PythonSomething
Dict Arg Chinese_name : Python那些事

综合传参

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

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那些事’)

调用结果为:

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.ppmy.cn/news/1437955.html

相关文章

vue2知识点————(vue插槽,透传 Attributes )

vue 插槽 插槽(slot)是一种强大的特性,允许在组件的模板中定义带有特定用途的“插槽”,然后在组件的使用者中填充内容。插槽能够使组件更加灵活,让组件的结构更容易复用和定 具名插槽(Named Slots&#x…

Java openrasp记录-01

例子1 https://github.com/anbai-inc/javaweb-expression 一个hook ognl、spel、MVEL表达式注入的例子 用的是asm5进行字节码修改 采用premain进行插桩,重写transform方法 expClassList是要hook的类,这里定义在MethodHookDesc 这里判断hook点通过类名…

02 贪吃蛇

前言 呵呵 这是不知道 在哪里看到的 别人做的一个贪吃蛇 因此 也把我 之前的 贪吃蛇 移植上来了 当然 这个不过是为了 简单的入门了解, 呵呵 然后 c版本的贪吃蛇 需要先移植成 c 版本, 然后 再根据 单片机相关 设计调整 比如 led 点阵的输出, 比如 c99 语法的一些不兼容…

1小时学会SpringBoot3+Vue3前后端分离开发

首发于Enaium的个人博客 引言 大家可能刚学会Java和Vue之后都会想下一步是什么?那么就先把SpringBoot和Vue结合起来,做一个前后端分离的项目吧。 准备工作 首先你需要懂得Java和Vue的基础知识,环境这里就不多说了,直接开始。 …

Kotlin作用域函数引发的遮蔽问题

前面讲了kotlin的it变量引起的遮蔽问题,见Kotlin it隐式变量的遮蔽问题,本篇聊聊作用域函数(scoped function)可能引起的遮蔽问题。 先来看一个简单的示例: fun test(): String {val s: String "asdf".al…

selenium显式等待

selenium显示等待 确保页面元素在特定条件下加载完毕后再执行后续操作。显示等待可以通过WebDriverWait类和ExpectedConditions类来实现。通过使用显示等待,可以避免在页面元素还未加载完毕时就进行操作,从而提高测试的稳定性和可靠性。 # 导包 from s…

leetcode543--二叉树的直径

1. 题意 求二叉树上最远两个节点之间的距离。 2. 题解 2.1 暴力 最长路径的三种情况 通过根节点在左子树在右子树 12 4 5 6 7 8 9 diameter 5通过根节点的最长路径长度一定是左右子树深度之和。 但是这样求左右子树的深度会不断重复,所以复杂度…

从虚拟化走向云原生,红帽OpenShift“一手托两家”

汽车行业已经迈入“软件定义汽车”的新时代。吉利汽车很清醒地意识到,只有通过云原生技术和数字化转型,才能巩固其作为中国领先汽车制造商的地位。 和很多传统企业一样,吉利汽车在走向云原生的过程中也经历了稳态业务与敏态业务并存带来的前所…