Python函数中的可变长参数详解

作者:余处幽篁 时间:2022-08-01 06:04:57 

一、Python函数中的参数

1、使用python的函数时,有参数类别,比如位置参数、关键字参数、可变长参数

2、位置参数、关键字参数很好理解,关键是可变长参数经常能见到,但是一直没有搞懂是什么意思

二、可变长参数

1、一个星号:函数可以接收任意个数的参数,只需要在形参前面加一个*(星号),一个星号形参的函数会把多个位置参数值当成元祖的形式传入,也就是传入的多个参数值可以在函数内部进行元祖遍历


def length_param(a, *args):
 print("a=", a)
 print("args=", args)

for arg in args:
   print("arg=", arg)

length_param("zim","this","is","a","good","thing")

执行结果:

Python函数中的可变长参数详解

2、两个星号:形参前面加两个*(星号),注意是两个星号哦,两个星号形参的函数会把关键字参数值当成字典的形式传入,在函数内部会把关键字参数当成字典在函数内部进行遍历


def length_param(a, **kwargs):
 print("a=", a)

print("kwargs=", kwargs)

for kwarg in kwargs.keys():
    print("kwarg=", kwarg)

length_param("zim",b="this",c="is",d="good")

执行结果:

Python函数中的可变长参数详解

3、一个星号和两个星号混合使用


class Params:
 def length_param(self,*args,**kwargs):
   print("args=",args)
   print("kwargs=",kwargs)

for arg in args:
     print("arg=",arg)

for kwarg in kwargs.values():
     print("kwarg=",kwarg)

one = Params()

one.length_param("sam","this","is","good","thing",b="you",c="love",d="me")

执行结果:

Python函数中的可变长参数详解

注意:传入可变长参数时,传入关键字参数的key一定不能有冒号,否则会报如下错误

Python函数中的可变长参数详解

三、注意事项:

函数调用时关键字参数必须在位置参数后面

来源:https://www.cnblogs.com/lyzin/p/11511106.html

标签:Python,可变长参数
0
投稿

猜你喜欢

  • asp中文URL编码server.urlencode

    2008-08-08 11:22:00
  • 用 prototype 定义自己的方法

    2010-03-17 20:44:00
  • 一篇文章搞懂python混乱的切换操作与优雅的推导式

    2023-09-15 00:25:10
  • Python3 hashlib密码散列算法原理详解

    2021-07-06 12:59:55
  • Python偏函数实现原理及应用

    2022-12-13 17:12:03
  • Python 从subprocess运行的子进程中实时获取输出的例子

    2023-12-24 18:31:10
  • MYSQL数据库设计的一点总结

    2008-05-24 09:36:00
  • jQuery实现简单复制json对象和json对象集合操作示例

    2024-04-16 09:29:17
  • 一次MySQL性能优化实战

    2009-03-09 15:01:00
  • python超详细实现完整学生成绩管理系统

    2022-08-25 08:59:08
  • CentOS 7中源码安装MySQL 5.7.6+详细教程

    2024-01-24 13:12:27
  • Python3环境安装Scrapy爬虫框架过程及常见错误

    2021-10-19 00:01:05
  • js+asp总结

    2009-11-16 17:49:00
  • python3检查字典传入函数键是否齐全的实例

    2023-11-07 07:36:31
  • PHP模板引擎Smarty中变量的使用方法示例

    2023-11-14 23:32:25
  • 不建议使用jquery的情况

    2008-03-10 12:28:00
  • Python实现将数据库一键导出为Excel表格的实例

    2024-01-19 19:47:27
  • 不同浏览器所支持的“事件”

    2007-09-26 18:29:00
  • 擦亮自己的眼睛去看SQL Server之历史渊源

    2011-08-29 15:40:53
  • UEditor 编辑器跨域上传解决方法

    2022-09-07 11:52:41
  • asp之家 网络编程 m.aspxhome.com