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

标签:Python,关键字,参数
0
投稿

猜你喜欢

  • 关于Python下的Matlab函数对应关系(Numpy)

    2023-03-15 07:25:32
  • 使用python开发vim插件及心得分享

    2023-11-22 11:30:32
  • laravel 解决crontab不执行的问题

    2023-11-15 01:45:18
  • 详解Python中的文件操作

    2022-08-26 03:35:18
  • python dict乱码如何解决

    2023-04-11 06:43:51
  • 三谈Iframe自适应高度

    2010-08-03 13:04:00
  • python下对hsv颜色空间进行量化操作

    2022-11-22 01:56:12
  • nonebot插件之chatgpt使用详解

    2023-07-15 09:56:17
  • Python图像处理之图像金字塔详解

    2022-03-11 10:35:04
  • JS延时器提示框的应用实例代码解析

    2024-05-10 14:00:28
  • ASP.NET Core MVC基础学习之局部视图(Partial Views)

    2023-07-19 21:02:37
  • 为什么不建议在go项目中使用init()

    2024-05-11 09:17:47
  • asp多关键词查询方案

    2008-05-09 12:24:00
  • Python入门基本操作列表排序用法详解

    2021-01-02 15:42:02
  • python实现将多个文件分配到多个文件夹的方法

    2023-04-13 20:48:46
  • 详解OpenCV中直方图,掩膜和直方图均衡化的实现

    2022-10-30 12:03:33
  • 用Dreamweaver实现Real与网页结合

    2010-07-13 12:11:00
  • django-利用session机制实现唯一登录的例子

    2022-09-10 23:20:20
  • vuejs实现ready函数加载完之后执行某个函数的方法

    2024-05-29 22:48:43
  • Mysql5.7.11在windows10上的安装与配置(解压版)

    2024-01-13 18:07:49
  • asp之家 网络编程 m.aspxhome.com