python中函数的不定长参数

#定义一个含有不定长参数的函数,本例第三个参数*args
def sum_nums(a,b,*args):
    print(‘_‘*30)
    print(a)
    print(b)
    print(args)

#调用函数:
sum_nums(11,22,33,44,55,66,77)
sum_nums(11,22,33)
sum_nums(11,22)
sum_nums(11)#错误调用,传递的参数不够

#输出结果:
______________________________
11
22
(33, 44, 55, 66, 77)
______________________________
11
22
(33,)
______________________________
11
22
()
Traceback (most recent call last):
  File "6.py", line 10, in <module>
    sum_nums(11)#错误调用
TypeError: sum_nums() missing 1 required positional argument: ‘b‘

原文地址:https://www.cnblogs.com/littlesuns/p/9955068.html

时间: 2024-10-12 01:00:04

python中函数的不定长参数的相关文章

Python装饰器AOP 不定长参数 鸭子类型 重载(三)

1 可变长参数与关键字参数 *args代表任意长度可变参数 **kwargs代表关键字参数 用*args和**kwargs只是为了方便并没有强制使用它们. 缺省参数即是调用该函数时,缺省参数的值若未被传入,则传入默认预设的值. 注意 : 须将所有带有默认值的参数置于参数列表的末尾. def print_info(name, age = 18,gender = True ) print_info("zhan", gender = False ) def demo(num, *nums ,

Python中函数的参数传递与可变长参数

1.Python中也有像C++一样的默认缺省函数 1 def foo(text,num=0): 2 print text,num 3 4 foo("asd") #asd 0 5 foo("def",100) #def 100 定义有默认参数的函数时,这些默认值参数位置必须都在非默认值参数后面. 调用时提供默认值参数值时,使用提供的值,否则使用默认值. 2.Python可以根据参数名传参数 1 def foo(ip,port): 2 print "%s:%d

Java的不定长参数和Python的不定长参数对比

一:起因 (0)不定长参数,也叫可变的参数,就是再调用函数之前,并不确定到底需要传递多少个参数 (1)Java中的不定长参数用String... args / int... args等三个点来表示:Python中用*args元组来表示 / **args字典(map)来表示  (2)不定参数有两个规定:第一,方法的参数列表中最多只有一个不定长度的参数:第二,就是不定长度的数组的位置必须是最后一个参数.不然不能通过编译. 二:实例对比 (1)Python的不定长参数 第一种方法--以一个*开始的参数

python-输入不定长参数函数传值

""" 不定长参数函数传值时,传入的值被设定为一个元组.但当不定长参数不是在程序中设定,而是运行程序过程中手动输入时,所有参数被设定为一个元组再以实参传入函数中,此时相当于不定长参数仅有该元组一个参数,而不是多个参数.例子如下: """ def multi(*p): sum = 1 for arrs in p: for arr in arrs: sum *= int(arr) print("乘积结果为:{}".format(s

python 中函数的参数

一.python中的函数参数形式 python中函数一般有四种表现形式: 1.def function(arg1, arg2, arg3...) 这种是python中最常见的一中函数参数定义形式,函数参数之间用逗号分隔,调用的时候的参数必须与定义的时候相同,且参数顺序与形参一一对应. ? 1 2 3 4 5 6 7 8 9 def myfunction(a, b):     print a,b #正确调用 myfunction(3,7) #错误调用 myfunction(3) myfunctio

scala 基础四 scala 的函数扩展 默认参数,不定长参数,带名参数

默认参数,默认参数就是在函数定义的时候直接给函数的入参进行赋值 package smart.iot class func { } object func { //参数默认值 格式 参数:参数类型="要设置的默认值" def funcadd(str:String="hello scala!") { println(str); } def main(args: Array[String]): Unit = { funcadd() } } 输出:hello scala!

Python中函数的参数-arguments

归纳起来,Python中函数的定义形式和调用形式主要有如下几种形式: # 函数的定义形式 def func(name) # 匹配positional参数或者keyword参数 def func(name=value) # 如果不传,有默认参数 def func(*name) # 将额外的positional参数转换成一个tuple,然后赋给name def func(**name) # 将额外的keyword参数转换成一个dictionary,然后赋给name def func(*other,

python中函数参数的引用方式

值传递和引用传递时C++中的概念,在python中函数参数的传递是变量指向的对象的物理内存地址!!! python不允许程序员选择采用传值还是传引用.Python参数传递采用的肯定是"传对象引用"的方式.这种方式相当于传值和传引用的一种综合.如果函数收到的是一个可变对象(比如字典或者列表)的引用,就能修改对象的原始值--相当于通过"传引用"来传递对象.如果函数收到的是一个不可变对象(比如数字.字符或者元组)的引用,就不能直接修改原始对象--相当于通过"传值

Python 不定长参数 *args, **dictargs

 1. 加了星号(*)的变量名会存放所有未命名的变量参数,不能存放dict,否则报错. 如: 1 def multiple(arg, *args): 2 print "arg: ", arg 3 #打印不定长参数 4 for value in args: 5 print "other args:", value 6 7 if __name__ == '__main__': 8 multiple(1,'a',True) 输出: 2. 加了星号(**)的变量名会存放所有