首页 > 编程语言 >关于python函数中带*星号参数-收集参数的使用说明

关于python函数中带*星号参数-收集参数的使用说明

时间:2022-10-04 15:46:23浏览次数:93  
标签:中带 函数 形参 python 星号 参数 print 5201351

在python中,定时函数时,一般就得确定函数的参数的个数

当然函数可以没有参数,也可以指定明确的形式参数的个数,那样在调用这个函数时,实参的个数就需要与形参个数一致

def PrintAuthor(name):
    print(name)
    
PrintAuthor("QQ:5201351")

如果此时不传递参数,则会报错:TypeError: PrintAuthor() missing 1 required positional argument: 'name'

当然与是否在函数体中使用了那个形参无关,即使没有引用到形参,也同样会报上面的错误~

反之如果定时函数时没有形参,而使用函数时却传递了参数,那么也报错:

TypeError: PrintAuthor() takes 0 positional arguments but 1 was given

但在有时候,我们可能会希望用户使用函数时,提供任意数量的参数,函数都能正常的运行,这时应该怎么办呢?

这时我们。就可以使用到带*星号参数,也就是python函数的收集参数功能,如下:

def PrintParms(*params):
    print(params)
    
PrintParms(1,2,3,"QQ:5201351")

运行结果将如下:

(1, 2, 3, 'QQ:5201351')

从定时函数和结果,我们可以看出,参数前面的星号将提供的所有值都放在一个元组中了,也就是将这些值收集起来了~

关于带有参数收集的函数,下面笔者在列举一些更高级的用法:

1、带星号的参数,会收集余下的所有参数,那么也就是说可以前面是定义几个形式参数,最后使用带星号的参数

2、当然带星号的参数,也不一定,一定需要放到最后面,最后还可以定义关键字参数,星号不会收集关键字参数的

这里笔者通过一个简单的例子就可以说明上面的两种情况,如下

def PrintParms(x,*params,z):
    print(x)
    print(params)
    print(z)
    
PrintParms(1,2,3,"QQ:5201351",z="https://www.cnblogs.com/5201351")

运行结果如下:

1
(2, 3, 'QQ:5201351')
https://www.cnblogs.com/5201351

对于有关键字数量,在传参时,变量参数的名称需要与形参关键字一样,如上可以看到使用时,使用的z=xxxxx 

 

 

尊重别人的劳动成果 转载请务必注明出处:https://www.cnblogs.com/5201351/p/16753838.html

 

标签:中带,函数,形参,python,星号,参数,print,5201351
From: https://www.cnblogs.com/5201351/p/16753838.html

相关文章

  • Python 检测PE所启用保护方式
    Python通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处枚举输出的是当前正在运行进程所加载模块的DLL模块信......
  • Dapper 传递参数
    [HttpGet("QueryByAnonymousType")]publicasyncTask<ActionResult<IEnumerable<Product>>>QueryByAnonymousType(){//参数作为匿名类型......
  • Python 检测PE所启用保护方式
    Python通过pywin32模块调用WindowsAPI接口,实现对特定进程加载模块的枚举输出并检测该PE程序模块所启用的保护方式,此处枚举输出的是当前正在运行进程所加载模块的DLL模块信......
  • Python两层神经网络
    参考神经网络15分钟入门——使用python从零开始写一个两层神经网络_Mr.看海的博客-CSDN博客_神经网络入门python #参考https://blog.csdn.net/fengzhuqiaoqiu/arti......
  • python合并多个excel
    前言1.工作中,经常需要合并多个Excel文件。如果文件数量比较多,则工作量大,易出错,此时,可以使用Python来快速的完成合并。2.使用方法:将需要合并的多个Excel文件放到同一个文......
  • Python第五章实验报告
    一.实验项目名称:《零基础学Python》第五章实战、实例以及两道作业题二.实验目的和要求:了解和掌握操作字符串的方法和正则表达式的应用三.实验环境:IDLE(Python3.964-bit)......
  • python生成二维码
    前言二维码在我们的生活中可以说是必不可少的,不单单是手机支付、其它很多地方也都需要扫描二维码。那么下面我们就来看看如何使用python来生成二维码、以及识别二维码。......
  • Python中优雅的字典技巧总结
    1.引言在日常工作中,大家都需要进行字典的相关操作,对于某些初学者,经常会写一堆繁琐的代码来实现某项简单的功能。本篇文章重点介绍一些在Python中关于字典的一些简单技巧,熟......
  • skywalking 实现收集基于python的Django项目链路追踪案例
    一、python3环境设置1.1、安装python3apt-getupdateaptinstallpython3-pip-ypipinstall"apache-skywalking"[root@skywalking-agent-07~]#pipinstall"apache-s......
  • 0579-5.15.1-Java 应用程序中修改Kerberos ticket_lifetime参数无效异常分析
    作者:辉少1文档编写目的在Kerberos环境中,我们的应用程序通过Java代码来提交任务需要先进行Kerberos凭证的初始化然后进行应用程序的提交,本文档主要讲述Java应用程序中读取krb......