Python函数中不定长参数的写法

yipeiwu_com5年前Python基础

1、不定长参数的写法,用 *变量名 表示

2、不定长参数累加

3、不定长参数,使用**c接受m=23,n=56的值;

传参时,a必写,b、c可以缺省

def fun(a, b, *args):
 print(a)
 print(b)
 print(args)
 print("="*30)
 ret = a + b
 for i in args:
  ret += i
 return ret
print(fun(1,2,3,4))

结果:

1
2
(3, 4)
==============================
10

1,2分别赋值给a,b,剩下的参数以元组的形式赋值给args

字典形式参数:

def fun(a, b, *args, **kwargs):
 print(a)
 print(b)
 print(args)
 print(kwargs)
fun(1, 2, 3, 4, name = "hello", age = 20)

结果:

1
2
(3, 4)
{'name': 'hello', 'age': 20}

传入元组和字典:

def fun(a, b, *args, **kwargs):
 print(a)
 print(b)
 print(args)
 print(kwargs)
tup = (11,22,33)
dic = {"name":"hello", "age":20}
fun(1, 2, *tup, **dic)

结果:

1
2
(11, 22, 33)
{'name': 'hello', 'age': 20}

总结

以上就是这篇文章的全部内容了,希望本文的内容对大家的学习或者工作具有一定的参考学习价值,谢谢大家对【听图阁-专注于Python设计】的支持。如果你想了解更多相关内容请查看下面相关链接

相关文章

python3+PyQt5重新实现QT事件处理程序

python3+PyQt5重新实现QT事件处理程序

本文是对《Python Qt GUI快速编程》的第10章的例子events用Python3+PyQt5进行改写,涉及到重新实现QWidget的事件处理程序。本例子涉及到上下文菜单,鼠标事...

Python协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法详解

本文实例讲述了Python 协程操作之gevent(yield阻塞,greenlet),协程实现多任务(有规律的交替协作执行)用法。分享给大家供大家参考,具体如下: 实现多任务:进程消耗...

Python 按字典dict的键排序,并取出相应的键值放于list中的实例

方法一: def dict_to_numpy_method1(dict): dict_sorted=sorted(dict.iteritems(), key=lambda d:d[...

解决python测试opencv时imread导致的错误问题

解决python测试opencv时imread导致的错误问题

如下所示: import cv2 import numpy as np img = cv2.imread("1.jpg")//图片和代码在同个目录,改为相对路径,解决由imrea...

详解Python当中的字符串和编码

详解Python当中的字符串和编码

字符编码 我们已经讲过了,字符串也是一种数据类型,但是,字符串比较特殊的是还有一个编码问题。 因为计算机只能处理数字,如果要处理文本,就必须先把文本转换为数字才能处理。最早的计算机在设计...