Python函数关键字参数及用法详解
作者:小刘学安卓 发布时间:2023-08-13 00:34:06
目前为止,我们使用函数时所用的参数都是位置参数,即传入函数的实际参数必须与形式参数的数量和位置对应。而本节将介绍的关键字参数,则可以避免牢记参数位置的麻烦,令函数的调用和参数传递更加灵活方便。
关键字参数是指使用形式参数的名字来确定输入的参数值。通过此方式指定函数实参时,不再需要与形参的位置完全一致,只要将参数名写正确即可。
因此,Python 函数的参数名应该具有更好的语义,这样程序可以立刻明确传入函数的每个参数的含义。
例如,在下面的程序中就使用到了关键字参数的形式给函数传参:
def dis_str(str1,str2):
print("str1:",str1)
print("str2:",str2)
#位置参数
dis_str("http://aspxhome.com/python/","http://aspxhome.com/shell/")
#关键字参数
dis_str("http://aspxhome.com/python/",str2="http://aspxhome.com/shell/")
dis_str(str2="http://aspxhome.com/python/",str1="http://aspxhome.com/shell/")
程序执行结果为:
str1: http://aspxhome.com/python/
str2: http://aspxhome.com/shell/
str1: http://aspxhome.com/python/
str2: http://aspxhome.com/shell/
str1: http://aspxhome.com/shell/
str2: http://aspxhome.com/python/
可以看到,在调用有参函数时,既可以根据位置参数来调用,也可以使用关键字参数(程序中第 8 行)来调用。在使用关键字参数调用时,可以任意调换参数传参的位置。
当然,还可以像第 7 行代码这样,使用位置参数和关键字参数混合传参的方式。但需要注意,混合传参时关键字参数必须位于所有的位置参数之后。也就是说,如下代码是错误的:
# 位置参数必须放在关键字参数之前,下面代码错误
dis_str(str1="http://aspxhome.com/python/","http://aspxhome.com/shell/")
Python 解释器会报如下错误:
SyntaxError: positional argument follows keyword argument
来源:https://blog.csdn.net/liuqinhou/article/details/129847294


猜你喜欢
- 俺比较笨,对太专业的书一直不感冒,看了就想睡觉。最近李明同学传了本“大话设计模式”电子版。偶然翻了翻,感觉还满通俗的,正适合我这样的懒人学习
- 图形由json格式加载,可以灵活配置。下一步是完善用户的操作,做这个感觉还是蛮有意思的。呵呵。截图:部分源码:<script type
- 延续上一篇的话题继续,顺便放上一篇的传送门:点这里。集群的必要性consul本身就是管理集群的,现在还需要给consul搞个集群,这是为啥?
- 前言SQLSERVER 2005中不知因何去掉了很重要的DEBUGGER功能,要调试,必须要安装VS2005专业版或者更高版本。非常不方便。
- django路由和视图要了解django是如何运行的,首先要了解路由和视图两个概念,然后我们在项目中添加一些简单的路由和视图路由和视图的概念
- keras中的Reshapekeras自带from keras.layers import Reshapelayer_1 = Reshape
- 目录1.触发器是什么?2.创建触发器创建触发器的语法如下:创建多个执行语句的触发器: NEW和OLD的使用:3.使用触发器1.触发
- 看知乎的时候发现了一个 “如何正确地吐槽” 收藏夹,里面的一些神回复实在很搞笑,但是一页一页地看又有点麻烦,而且每次都要打开网页,于是想如果
- 概述Golang 是一个跨平台的新生编程语言. 今天小白就带大家一起携手走进 Golang 的世界. 常量常量 (Constant) 是指程
- 格式化是通过格式操作使任意类型的数据转换成一个字符串。例如下面这样<script>console.log(chopper.for
- 目录前言简单介绍创建或连接数据库游标创建表插入查询查询总数查询所有查询第一条分页查询更新删除总结前言sqlite的官网 sqlite.org
- 前缀和后缀HasPrefix判断字符串s是否以prefix开头:strings.HaxPrefix(s string, prefix str
- nn.Module中定义参数:不需要加cuda,可以求导,反向传播class BiFPN(nn.Module): def __i
- 前言功能新增学生显示学生查找学生删除学生存到文档创建入口函数在入口函数中,可以先打印一个菜单,用菜单来进行交互。def menu(): &n
- 有时候我们在设计表单的时候不希望用户输入其它字符,只想他在input中输入数字,那么我们就可以使用下面的代码,当然这个比较是客户
- 问题你想将一个模块分割成多个文件。但是你不想将分离的文件统一成一个逻辑模块时使已有的代码遭到破坏。解决方案程序模块可以通过变成包来分割成多个
- 前言LogEntry是在后台开发中经常用到的模块,它在admin是默认开启的。可以使用LogEntry模块记录所有用户的操作记录。一方面可以
- 前言在我们对DataFrame对象进行处理时候,下意识的会想到对DataFrame进行遍历,然后将处理后的值再填入DataFrame中,这样
- 如下所示:from statsmodels.tsa.stattools import adfullerprint(adfuller(data
- Numba是Python的即时编译器,在使用NumPy数组和函数以及循环的代码上效果最佳。使用Numba的最常见方法是通过其装饰器集合,这些