args 和 *args的真正区别在哪里,请老师解释下下面代码不能运行的原因。以及type(args)是元组,type(*args)又是什么?

来源:12-11 装饰器 四

慕数据3541479

2018-02-24

def test(x,y):
    print(x+y)

def demo(*args):
    test(*args)
# 可以成功运行
# test(args) 不可以成功运行

demo(1,2)


写回答

2回答

7七月

2018-02-24

*号只能用于定义形参,你怎么发明的可以用来传参?建议学习尝试代码要有根据,而不是自己发明这些用法。他之所以报错是因为解释器根本就不认识啊。

0
5
7七月
回复
慕数据3541479
必须参数!好好理解下概念,必须参数,必须传2个。
2018-02-24
共5条回复

慕数据3541479

提问者

2018-02-24

我记得之前调用多参数时都是直接调用args的,例如print(args)或type(args),为什么这里test(args)同样作为函数调用却不可以

0
0

Python3.8系统入门+进阶 (程序员必备第二语言)

语法精讲/配套练习+思考题/原生爬虫实战

14447 学习 · 4438 问题

查看课程